@ponchia/ui 0.6.7 → 0.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +70 -0
- package/README.md +3 -3
- package/annotations/index.d.ts.map +1 -1
- package/annotations/index.js +21 -3
- package/behaviors/carousel.d.ts.map +1 -1
- package/behaviors/carousel.js +91 -35
- package/behaviors/combobox.d.ts.map +1 -1
- package/behaviors/combobox.js +117 -43
- package/behaviors/command.d.ts.map +1 -1
- package/behaviors/command.js +74 -14
- package/behaviors/connectors.d.ts.map +1 -1
- package/behaviors/connectors.js +92 -9
- package/behaviors/crosshair.d.ts.map +1 -1
- package/behaviors/crosshair.js +47 -1
- package/behaviors/dialog.d.ts.map +1 -1
- package/behaviors/dialog.js +24 -9
- package/behaviors/disclosure.d.ts.map +1 -1
- package/behaviors/disclosure.js +33 -3
- package/behaviors/dismissible.d.ts.map +1 -1
- package/behaviors/dismissible.js +3 -2
- package/behaviors/forms.d.ts.map +1 -1
- package/behaviors/forms.js +67 -0
- package/behaviors/glyph.d.ts.map +1 -1
- package/behaviors/glyph.js +17 -2
- package/behaviors/inert.js +3 -2
- package/behaviors/internal.d.ts.map +1 -1
- package/behaviors/internal.js +2 -1
- package/behaviors/legend.d.ts +0 -5
- package/behaviors/legend.d.ts.map +1 -1
- package/behaviors/legend.js +45 -13
- package/behaviors/menu.d.ts.map +1 -1
- package/behaviors/menu.js +13 -8
- package/behaviors/modal.d.ts.map +1 -1
- package/behaviors/modal.js +77 -19
- package/behaviors/popover.d.ts +4 -3
- package/behaviors/popover.d.ts.map +1 -1
- package/behaviors/popover.js +89 -9
- package/behaviors/sources.d.ts.map +1 -1
- package/behaviors/sources.js +14 -2
- package/behaviors/splitter.d.ts.map +1 -1
- package/behaviors/splitter.js +149 -110
- package/behaviors/spotlight.d.ts.map +1 -1
- package/behaviors/spotlight.js +28 -2
- package/behaviors/table.d.ts.map +1 -1
- package/behaviors/table.js +103 -11
- package/behaviors/tabs.d.ts.map +1 -1
- package/behaviors/tabs.js +82 -18
- package/behaviors/theme.d.ts.map +1 -1
- package/behaviors/theme.js +25 -5
- package/classes/index.d.ts +15 -2
- package/classes/index.js +0 -1
- package/connectors/index.d.ts +39 -6
- package/connectors/index.d.ts.map +1 -1
- package/connectors/index.js +67 -9
- package/css/annotations.css +12 -0
- package/css/crosshair.css +27 -2
- package/css/feedback.css +2 -30
- package/css/navigation.css +12 -0
- package/css/tokens.css +16 -0
- package/dist/bronto.css +1 -1
- package/dist/css/analytical.css +1 -1
- package/dist/css/annotations.css +1 -1
- package/dist/css/crosshair.css +1 -1
- package/dist/css/feedback.css +1 -1
- package/dist/css/navigation.css +1 -1
- package/dist/css/report-kit.css +1 -1
- package/dist/css/tokens.css +1 -1
- package/docs/adr/0001-color-system.md +3 -2
- package/docs/annotations.md +12 -1
- package/docs/architecture.md +46 -13
- package/docs/command.md +4 -1
- package/docs/connectors.md +16 -0
- package/docs/crosshair.md +1 -1
- package/docs/dots.md +4 -1
- package/docs/glyphs.md +11 -0
- package/docs/migrations/0.2-to-0.3.md +1 -1
- package/docs/package-contract.md +5 -5
- package/docs/reporting.md +23 -12
- package/docs/stability.md +18 -2
- package/docs/theming.md +2 -2
- package/docs/usage.md +16 -2
- package/docs/vega.md +4 -4
- package/llms.txt +10 -5
- package/package.json +20 -4
- package/svelte/index.d.ts +71 -45
- package/svelte/index.d.ts.map +1 -1
- package/svelte/index.js +29 -2
- package/vue/index.d.ts +42 -5
- package/vue/index.d.ts.map +1 -1
- package/vue/index.js +32 -1
package/dist/css/feedback.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer bronto{@property --value{syntax: '<number>';inherits: true;initial-value: 0}.ui-alert{background: var(--panel-soft);border: 1px solid var(--line);border-inline-start: 2px solid var(--line-strong);border-radius: var(--radius-md);color: var(--text-soft);display: grid;font-size: var(--text-sm);gap: 0.3rem;grid-template-columns: auto 1fr;padding: 0.8rem 0.9rem}.ui-alert::before{background: var(--text-dim);border-radius: 50%;content: '';block-size: 0.5rem;margin-block-start: 0.32rem;inline-size: 0.5rem;print-color-adjust: exact}.ui-alert > *{grid-column: 2}.ui-alert__title{color: var(--text);font-family: var(--mono);font-size: var(--text-2xs);font-weight: 700;letter-spacing: var(--tracking-wide);margin: 0;text-transform: uppercase}.ui-alert__body{margin: 0}.ui-alert__close{background: transparent;border: 0;color: var(--text-dim);cursor: pointer;font-family: var(--mono);grid-column: 3;grid-row: 1;line-height: 1;padding: 0.1rem 0.3rem}.ui-alert:has(.ui-alert__close){grid-template-columns: auto 1fr auto}.ui-alert--accent{border-inline-start-color: var(--accent)}.ui-alert--accent::before{background: var(--accent)}.ui-alert--success{border-inline-start-color: var(--success)}.ui-alert--success::before{background: var(--success)}.ui-alert--warning{border-inline-start-color: var(--warning)}.ui-alert--warning::before{background: var(--warning)}.ui-alert--danger{border-inline-start-color: var(--danger)}.ui-alert--danger::before{background: var(--danger)}.ui-alert--info{border-inline-start-color: var(--info)}.ui-alert--info::before{background: var(--info)}@media (hover: hover){.ui-alert__close:hover{color: var(--text)}}.ui-toast-stack{display: grid;gap: 0.5rem;inset-block: auto 1.25rem;inset-inline: auto 1.25rem;justify-items: end;max-inline-size: min(22rem,calc(100vw - 2rem));pointer-events: none;position: fixed;z-index: var(--z-toast)}.ui-toast-stack--assertive{inset-block: 1.25rem auto}.ui-toast{align-items: flex-start;animation: uiToastIn var(--duration-base) var(--ease-spring) both;transition: opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out);background: var(--panel-strong);border: 1px solid var(--line-strong);border-radius: var(--radius-md);box-shadow: var(--shadow-raised);color: var(--text-soft);display: grid;font-size: var(--text-sm);gap: 0.2rem 0.55rem;grid-template-columns: auto 1fr;padding: 0.7rem 0.85rem;pointer-events: auto;inline-size: 100%}.ui-toast.is-leaving{animation: none;opacity: 0;transform: translateY(6px) scale(0.98)}.ui-toast::before{background: var(--text-dim);border-radius: 50%;content: '';grid-row: 1 / -1;block-size: 0.5rem;margin-block-start: 0.3rem;inline-size: 0.5rem;print-color-adjust: exact}.ui-toast__title{color: var(--text);font-family: var(--mono);font-size: var(--text-2xs);font-weight: 700;letter-spacing: var(--tracking-wide);margin: 0;text-transform: uppercase}.ui-toast__close{align-self: start;background: none;border: 0;block-size: 1.4rem;color: var(--text-dim);cursor: pointer;font: inherit;grid-column: 3;grid-row: 1 / -1;inline-size: 1.4rem;padding: 0}.ui-toast__close::before{content: '\00d7';font-size: 1.1rem;line-height: 1}@media (pointer: coarse){.ui-alert__close,.ui-toast__close{display: inline-grid;place-items: center;min-block-size: 2.9rem;min-inline-size: 2.9rem}.ui-alert__close{padding: 0}}@media (hover: hover){.ui-toast__close:hover{color: var(--text)}}.ui-toast--accent::before{background: var(--accent)}.ui-toast--success::before{background: var(--success)}.ui-toast--warning::before{background: var(--warning)}.ui-toast--danger::before{background: var(--danger)}.ui-toast--info::before{background: var(--info)}@media (forced-colors: active){.ui-alert::before,.ui-toast::before{background: none;border-radius: 0;content: var(--tone-glyph,'\2022');block-size: auto;inline-size: auto;margin-block-start: 0;font-family: var(--mono);font-weight: 700;line-height: 1.1}.ui-alert--accent,.ui-toast--accent{--tone-glyph: '\25C6'}.ui-alert--success,.ui-toast--success{--tone-glyph: '\2713'}.ui-alert--warning,.ui-toast--warning{--tone-glyph: '\0021'}.ui-alert--danger,.ui-toast--danger{--tone-glyph: '\2715'}.ui-alert--info,.ui-toast--info{--tone-glyph: '\69'}}.ui-tooltip{display: inline-flex;position: relative}.ui-tooltip__bubble{background: var(--text);border-radius: var(--radius-sm);inset-block-end: calc(100% + 0.5rem);color: var(--bg);font-family: var(--mono);font-size: var(--text-2xs);inset-inline-start: 50%;letter-spacing: var(--tracking-wide);opacity: 0;padding: 0.34rem 0.5rem;pointer-events: none;position: absolute;text-transform: uppercase;transform: translate(-50%,4px);transition: opacity var(--duration-fast) var(--ease-standard)
|
|
1
|
+
@layer bronto{@property --value{syntax: '<number>';inherits: true;initial-value: 0}.ui-alert{background: var(--panel-soft);border: 1px solid var(--line);border-inline-start: 2px solid var(--line-strong);border-radius: var(--radius-md);color: var(--text-soft);display: grid;font-size: var(--text-sm);gap: 0.3rem;grid-template-columns: auto 1fr;padding: 0.8rem 0.9rem}.ui-alert::before{background: var(--text-dim);border-radius: 50%;content: '';block-size: 0.5rem;margin-block-start: 0.32rem;inline-size: 0.5rem;print-color-adjust: exact}.ui-alert > *{grid-column: 2}.ui-alert__title{color: var(--text);font-family: var(--mono);font-size: var(--text-2xs);font-weight: 700;letter-spacing: var(--tracking-wide);margin: 0;text-transform: uppercase}.ui-alert__body{margin: 0}.ui-alert__close{background: transparent;border: 0;color: var(--text-dim);cursor: pointer;font-family: var(--mono);grid-column: 3;grid-row: 1;line-height: 1;padding: 0.1rem 0.3rem}.ui-alert:has(.ui-alert__close){grid-template-columns: auto 1fr auto}.ui-alert--accent{border-inline-start-color: var(--accent)}.ui-alert--accent::before{background: var(--accent)}.ui-alert--success{border-inline-start-color: var(--success)}.ui-alert--success::before{background: var(--success)}.ui-alert--warning{border-inline-start-color: var(--warning)}.ui-alert--warning::before{background: var(--warning)}.ui-alert--danger{border-inline-start-color: var(--danger)}.ui-alert--danger::before{background: var(--danger)}.ui-alert--info{border-inline-start-color: var(--info)}.ui-alert--info::before{background: var(--info)}@media (hover: hover){.ui-alert__close:hover{color: var(--text)}}.ui-toast-stack{display: grid;gap: 0.5rem;inset-block: auto 1.25rem;inset-inline: auto 1.25rem;justify-items: end;max-inline-size: min(22rem,calc(100vw - 2rem));pointer-events: none;position: fixed;z-index: var(--z-toast)}.ui-toast-stack--assertive{inset-block: 1.25rem auto}.ui-toast{align-items: flex-start;animation: uiToastIn var(--duration-base) var(--ease-spring) both;transition: opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out);background: var(--panel-strong);border: 1px solid var(--line-strong);border-radius: var(--radius-md);box-shadow: var(--shadow-raised);color: var(--text-soft);display: grid;font-size: var(--text-sm);gap: 0.2rem 0.55rem;grid-template-columns: auto 1fr;padding: 0.7rem 0.85rem;pointer-events: auto;inline-size: 100%}.ui-toast.is-leaving{animation: none;opacity: 0;transform: translateY(6px) scale(0.98)}.ui-toast::before{background: var(--text-dim);border-radius: 50%;content: '';grid-row: 1 / -1;block-size: 0.5rem;margin-block-start: 0.3rem;inline-size: 0.5rem;print-color-adjust: exact}.ui-toast__title{color: var(--text);font-family: var(--mono);font-size: var(--text-2xs);font-weight: 700;letter-spacing: var(--tracking-wide);margin: 0;text-transform: uppercase}.ui-toast__close{align-self: start;background: none;border: 0;block-size: 1.4rem;color: var(--text-dim);cursor: pointer;font: inherit;grid-column: 3;grid-row: 1 / -1;inline-size: 1.4rem;padding: 0}.ui-toast__close::before{content: '\00d7';font-size: 1.1rem;line-height: 1}@media (pointer: coarse){.ui-alert__close,.ui-toast__close{display: inline-grid;place-items: center;min-block-size: 2.9rem;min-inline-size: 2.9rem}.ui-alert__close{padding: 0}}@media (hover: hover){.ui-toast__close:hover{color: var(--text)}}.ui-toast--accent::before{background: var(--accent)}.ui-toast--success::before{background: var(--success)}.ui-toast--warning::before{background: var(--warning)}.ui-toast--danger::before{background: var(--danger)}.ui-toast--info::before{background: var(--info)}@media (forced-colors: active){.ui-alert::before,.ui-toast::before{background: none;border-radius: 0;content: var(--tone-glyph,'\2022');block-size: auto;inline-size: auto;margin-block-start: 0;font-family: var(--mono);font-weight: 700;line-height: 1.1}.ui-alert--accent,.ui-toast--accent{--tone-glyph: '\25C6'}.ui-alert--success,.ui-toast--success{--tone-glyph: '\2713'}.ui-alert--warning,.ui-toast--warning{--tone-glyph: '\0021'}.ui-alert--danger,.ui-toast--danger{--tone-glyph: '\2715'}.ui-alert--info,.ui-toast--info{--tone-glyph: '\69'}}.ui-tooltip{display: inline-flex;position: relative}.ui-tooltip__bubble{background: var(--text);border-radius: var(--radius-sm);inset-block-end: calc(100% + 0.5rem);color: var(--bg);font-family: var(--mono);font-size: var(--text-2xs);inset-inline-start: 50%;letter-spacing: var(--tracking-wide);opacity: 0;padding: 0.34rem 0.5rem;pointer-events: none;position: absolute;text-transform: uppercase;transform: translate(-50%,4px);transition: opacity var(--duration-fast) var(--ease-standard);white-space: nowrap;z-index: var(--z-popover)}.ui-tooltip:hover .ui-tooltip__bubble,.ui-tooltip:focus-within .ui-tooltip__bubble{opacity: 1;transform: translate(-50%,0)}.ui-popover{background: var(--panel-strong);border: 1px solid var(--line-strong);border-radius: var(--radius-md);box-shadow: var(--shadow-raised);color: var(--text-soft);font-size: var(--text-sm);inline-size: max-content;margin: 0;max-inline-size: min(22rem,calc(100vw - 2rem));overflow: auto;padding: var(--space-sm) var(--space-md);position: fixed;z-index: var(--z-popover)}.ui-popover:not([popover],.is-open){display: none}.ui-popover[popover]:not(:popover-open){display: none}@media (prefers-reduced-motion: no-preference){.ui-popover{opacity: 0;transform: translateY(-4px) scale(0.98);transition: opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),overlay var(--duration-fast) allow-discrete,display var(--duration-fast) allow-discrete}.ui-popover.is-open,.ui-popover[popover]:popover-open{opacity: 1;transform: none}@starting-style{.ui-popover.is-open,.ui-popover[popover]:popover-open{opacity: 0;transform: translateY(-4px) scale(0.98)}}}.ui-progress{background: var(--panel-soft);border: 1px solid var(--line);border-radius: var(--radius-pill);block-size: 0.5rem;overflow: hidden;position: relative;inline-size: 100%}.ui-progress__bar{background: var(--accent);block-size: 100%;display: block;transition: inline-size var(--duration-base) var(--ease-out);inline-size: calc(clamp(0,var(--value,0),100) * 1%)}.ui-progress--indeterminate .ui-progress__bar{animation: uiTrack 1.1s var(--ease-standard) infinite;position: absolute;inline-size: 45%}@media (prefers-reduced-motion: reduce){.ui-progress--indeterminate .ui-progress__bar{animation-duration: 0.01ms;background: repeating-linear-gradient( -45deg,var(--accent) 0,var(--accent) 0.3rem,color-mix(in srgb,var(--accent) 35%,transparent) 0.3rem,color-mix(in srgb,var(--accent) 35%,transparent) 0.6rem );inset-inline-start: 0;inline-size: 100%}.ui-toast{animation: none;transition: none}}.ui-meter{background: var(--panel-soft);border: 1px solid var(--line);border-radius: var(--radius-pill);block-size: 0.5rem;overflow: hidden;inline-size: 100%}.ui-meter__fill{background: var(--text-dim);block-size: 100%;display: block;transition: inline-size var(--duration-base) var(--ease-out);inline-size: calc(clamp(0,var(--value,0),100) * 1%)}.ui-meter--accent .ui-meter__fill{background: var(--accent)}.ui-meter--success .ui-meter__fill{background: var(--success)}.ui-meter--warning .ui-meter__fill{background: var(--warning)}.ui-meter--danger .ui-meter__fill{background: var(--danger)}.ui-meter--info .ui-meter__fill{background: var(--info)}.ui-steps{counter-reset: ui-step;display: flex;flex-wrap: wrap;gap: var(--space-sm);list-style: none;margin: 0;padding: 0}.ui-steps__item{align-items: center;color: var(--text-dim);counter-increment: ui-step;display: inline-flex;flex: 1 1 auto;font-family: var(--mono);font-size: var(--text-xs);gap: 0.5rem;letter-spacing: var(--tracking-wide);min-inline-size: min(100%,max-content);text-transform: uppercase}.ui-steps__item::before{align-items: center;border: 1px solid var(--line-strong);border-radius: 50%;color: var(--text-dim);content: counter(ui-step);display: inline-flex;flex: 0 0 auto;block-size: 1.5rem;inline-size: 1.5rem;justify-content: center}.ui-steps__item:not(:last-child)::after{background: var(--line);block-size: 1px;content: '';flex: 1 1 1.5rem;min-inline-size: 1rem}.ui-steps__item[aria-current='step']{color: var(--text)}.ui-steps__item[aria-current='step']::before{border-color: var(--accent);color: var(--accent-text)}.ui-steps__item--done{color: var(--text-soft)}.ui-steps__item--done::before{background: var(--accent);border-color: var(--accent);color: var(--button-text)}@media print{.ui-progress__bar,.ui-meter__fill{-webkit-print-color-adjust: exact;print-color-adjust: exact}}@media (forced-colors: active){.ui-progress__bar,.ui-meter__fill,.ui-meter--accent .ui-meter__fill,.ui-meter--success .ui-meter__fill,.ui-meter--warning .ui-meter__fill,.ui-meter--danger .ui-meter__fill,.ui-meter--info .ui-meter__fill{background: Highlight;forced-color-adjust: none}}}
|
package/dist/css/navigation.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer bronto{.ui-themetoggle__button{align-items: center;background: transparent;border: 1px solid var(--line-strong);border-radius: var(--radius-md);color: var(--text);cursor: pointer;display: inline-flex;font-family: var(--mono);font-size: var(--text-xs);font-weight: 600;gap: 0.4rem;justify-content: center;letter-spacing: var(--tracking-wide);min-block-size: 2rem;min-inline-size: 7rem;padding: 0.42rem 0.66rem;text-transform: uppercase;transition: background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard);white-space: nowrap}.ui-themetoggle__button:hover{border-color: var(--accent);color: var(--accent-text)}.ui-themetoggle__prefix{color: var(--text-dim)}.ui-themetoggle__label{color: var(--text);font-weight: 700}.ui-themetoggle__track{background: var(--panel-soft);border: 1px solid var(--line-strong);border-radius: var(--radius-pill);display: inline-flex;block-size: 0.8rem;padding: 0.12rem;inline-size: 1.5rem}.ui-themetoggle__thumb{background: var(--text-dim);border-radius: 50%;display: block;block-size: 100%;transform: translateX(0);transition: background-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-spring);inline-size: 0.56rem}[data-theme='dark'] .ui-themetoggle__thumb{background: var(--accent);transform: translateX(0.6rem)}[dir='rtl'][data-theme='dark'] .ui-themetoggle__thumb,[dir='rtl'] [data-theme='dark'] .ui-themetoggle__thumb{transform: translateX(-0.6rem)}@media (hover: hover){.ui-themetoggle__button:active{transform: translateY(1px)}}@media (pointer: coarse){.ui-themetoggle__button{min-block-size: 2.9rem;padding-inline: 0.9rem}}}
|
|
1
|
+
@layer bronto{.ui-themetoggle__button{align-items: center;background: transparent;border: 1px solid var(--line-strong);border-radius: var(--radius-md);color: var(--text);cursor: pointer;display: inline-flex;font-family: var(--mono);font-size: var(--text-xs);font-weight: 600;gap: 0.4rem;justify-content: center;letter-spacing: var(--tracking-wide);min-block-size: 2rem;min-inline-size: 7rem;padding: 0.42rem 0.66rem;text-transform: uppercase;transition: background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard);white-space: nowrap}.ui-themetoggle__button:hover{border-color: var(--accent);color: var(--accent-text)}.ui-themetoggle__prefix{color: var(--text-dim)}.ui-themetoggle__label{color: var(--text);font-weight: 700}.ui-themetoggle__track{background: var(--panel-soft);border: 1px solid var(--line-strong);border-radius: var(--radius-pill);display: inline-flex;block-size: 0.8rem;padding: 0.12rem;inline-size: 1.5rem}.ui-themetoggle__thumb{background: var(--text-dim);border-radius: 50%;display: block;block-size: 100%;transform: translateX(0);transition: background-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-spring);inline-size: 0.56rem}[data-theme='dark'] .ui-themetoggle__thumb{background: var(--accent);transform: translateX(0.6rem)}@media (prefers-color-scheme: dark){:root:not([data-theme='light']) .ui-themetoggle__thumb{background: var(--accent);transform: translateX(0.6rem)}:root[dir='rtl']:not([data-theme='light']) .ui-themetoggle__thumb,:root:not([data-theme='light']) [dir='rtl'] .ui-themetoggle__thumb{transform: translateX(-0.6rem)}}[dir='rtl'][data-theme='dark'] .ui-themetoggle__thumb,[dir='rtl'] [data-theme='dark'] .ui-themetoggle__thumb{transform: translateX(-0.6rem)}@media (hover: hover){.ui-themetoggle__button:active{transform: translateY(1px)}}@media (pointer: coarse){.ui-themetoggle__button{min-block-size: 2.9rem;padding-inline: 0.9rem}}}
|
package/dist/css/report-kit.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer bronto{.ui-report{--report-width: 72rem;--report-padding-block: var(--space-2xl);--report-gap: var(--space-lg);--report-measure: 74ch;color: var(--text-soft);display: grid;gap: var(--report-gap);inline-size: min(100%,var(--report-width));margin-inline: auto;padding: var(--report-padding-block) var(--space-md)}.ui-report--compact{--report-gap: var(--space-md);--report-padding-block: var(--space-xl)}.ui-report--numbered{counter-reset: report-section}.ui-report > *,.ui-report__cover > *,.ui-report__head > *,.ui-report__toc > *,.ui-report__summary > *,.ui-report__decision > *,.ui-report__finding > *,.ui-report__evidence > *,.ui-report__section > *,.ui-report__figure > *,.ui-claim > *,.ui-evidence-grid > *,.ui-evidence-ledger > *,.ui-compare > *,.ui-compare__col > *{min-inline-size: 0}.ui-report__cover{align-content: end;border-block-end: 1px solid var(--line);display: grid;gap: var(--space-md);min-block-size: min(62vh,34rem);padding-block-end: var(--space-xl)}.ui-report__cover--compact{min-block-size: auto;padding-block: var(--space-xl) var(--space-lg)}.ui-report__head{align-items: end;border-block-end: 1px solid var(--line);display: flex;flex-wrap: wrap;gap: var(--space-md);justify-content: space-between;padding-block-end: var(--space-md)}.ui-report__title{color: var(--text);font-family: var(--display);font-size: calc(var(--text-xl) * 1.35);font-weight: var(--display-weight-strong);letter-spacing: 0;line-height: 1.05;margin: 0;max-inline-size: var(--report-measure);text-transform: uppercase;text-wrap: balance}.ui-report__subtitle{color: var(--text-dim);font-size: var(--text-lg);line-height: 1.5;margin: 0;max-inline-size: var(--report-measure)}.ui-report__meta{align-items: center;color: var(--text-dim);display: flex;flex-wrap: wrap;font-family: var(--mono);font-size: var(--text-2xs);gap: 0.55rem;letter-spacing: 0;list-style: none;margin: 0;padding: 0;text-transform: uppercase}.ui-report__meta > *{align-items: center;display: inline-flex;gap: 0.55rem}.ui-report__meta > :not(:last-child)::after{background: var(--line-strong);border-radius: 50%;block-size: 0.22rem;content: '';inline-size: 0.22rem}.ui-report__toc{border: 1px solid var(--line);border-radius: var(--radius-md);display: grid;gap: var(--space-xs);padding: var(--space-md)}.ui-report__toc ol,.ui-report__toc ul{display: grid;gap: 0.35rem;margin: 0;padding-inline-start: var(--space-md)}.ui-report__toc a{color: var(--text);text-decoration: underline;text-decoration-color: color-mix(in srgb,var(--accent) 45%,transparent);text-underline-offset: 0.2rem}.ui-report__summary,.ui-report__finding,.ui-report__evidence{background: var(--panel);border: 1px solid var(--line);border-radius: var(--radius-md);display: grid;gap: var(--space-sm);padding: var(--space-md)}.ui-report__summary{border-inline-start: 2px solid var(--accent)}.ui-report__decision{background: var(--panel);border: 1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-inline-start: 3px solid var(--accent);border-radius: var(--radius-md);display: grid;gap: var(--space-sm);padding: var(--space-md)}.ui-report__decision-kicker{color: var(--accent-text);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: var(--tracking-wide);margin: 0;text-transform: uppercase}.ui-report__decision-title{color: var(--text);font-family: var(--display);font-size: var(--text-lg);font-weight: var(--display-weight);letter-spacing: 0;line-height: 1.18;margin: 0;text-transform: uppercase;text-wrap: balance}.ui-report__decision-body{color: var(--text-soft);line-height: 1.6;margin: 0;max-inline-size: var(--report-measure)}.ui-report__decision-meta{color: var(--text-dim);display: flex;flex-wrap: wrap;font-family: var(--mono);font-size: var(--text-2xs);gap: 0.45rem 0.75rem;letter-spacing: 0}.ui-report__decision-grid{border-block-start: 1px solid var(--line);display: grid;gap: 0}.ui-report__decision-item{align-items: start;border-block-end: 1px solid var(--line);display: grid;gap: var(--space-xs);grid-template-columns: minmax(8rem,14rem) minmax(0,1fr);padding-block: var(--space-xs)}.ui-report__decision-label,.ui-report__decision-value{margin: 0}.ui-report__decision-label{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: var(--tracking-wide);text-transform: uppercase}.ui-report__decision-value{color: var(--text-soft);line-height: 1.5}.ui-report__finding{--report-finding-tone: var(--line-strong);border-inline-start: 2px solid var(--report-finding-tone)}.ui-report__finding--critical{--report-finding-tone: var(--danger)}.ui-report__finding--major{--report-finding-tone: var(--warning)}.ui-report__finding--minor{--report-finding-tone: var(--info)}.ui-report__finding--resolved{--report-finding-tone: var(--success)}.ui-report__finding-title,.ui-report__finding-claim,.ui-report__finding-impact,.ui-report__finding-remediation,.ui-report__finding-evidence,.ui-report__finding-caveat{margin: 0}.ui-report__finding-title{color: var(--text);font-size: var(--text-base);font-weight: 650;line-height: 1.25}.ui-report__finding-claim{color: var(--text);line-height: 1.6}.ui-report__finding-impact,.ui-report__finding-remediation,.ui-report__finding-evidence{color: var(--text-soft);line-height: 1.55}.ui-report__finding-caveat{color: var(--text-dim);font-size: var(--text-sm);line-height: 1.55}.ui-claim{--claim-tone: var(--accent);background: var(--panel-soft);border: 1px solid var(--line);border-inline-start: 2px solid var(--claim-tone);border-radius: var(--radius-md);display: grid;gap: var(--space-xs);padding: var(--space-sm)}.ui-claim--supported{--claim-tone: var(--success)}.ui-claim--partial{--claim-tone: var(--warning)}.ui-claim--disputed,.ui-claim--unsupported{--claim-tone: var(--danger)}.ui-claim--unknown{--claim-tone: var(--info)}.ui-claim__statement,.ui-claim__status,.ui-claim__scope,.ui-claim__basis,.ui-claim__limits,.ui-claim__refs,.ui-claim__caveat{margin: 0}.ui-claim__statement{color: var(--text);font-weight: 650;line-height: 1.45}.ui-claim__status,.ui-claim__scope,.ui-claim__refs{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: 0;text-transform: uppercase}.ui-claim__basis,.ui-claim__limits,.ui-claim__caveat{color: var(--text-soft);font-size: var(--text-sm);line-height: 1.55}.ui-report__evidence{background: var(--panel-soft)}.ui-report__evidence:has(> .ui-table-wrap:only-child){padding: 0}.ui-report__evidence:has(> .ui-table-wrap:only-child) > .ui-table-wrap{border: 0;border-radius: var(--radius-md)}.ui-report__section{display: grid;gap: var(--space-md);scroll-margin-block-start: 6rem}.ui-report__section + .ui-report__section{border-block-start: 1px solid var(--line);padding-block-start: var(--space-xl)}.ui-report__section-head{color: var(--text);font-family: var(--display);font-size: var(--text-xl);font-weight: var(--display-weight);letter-spacing: 0;line-height: 1.1;margin: 0;text-transform: uppercase;text-wrap: balance}.ui-report--numbered .ui-report__section-head::before{color: var(--accent-text);content: counter(report-section,decimal-leading-zero) ' / ';counter-increment: report-section}.ui-report--numbered .ui-report__section--unnumbered > .ui-report__section-head::before{content: none;counter-increment: none}.ui-report__figure{display: grid;gap: var(--space-sm);margin: 0}.ui-report__caption{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: 0;line-height: 1.5;text-transform: uppercase}.ui-evidence-grid{display: grid;gap: var(--space-sm);grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr))}.ui-evidence-item{background: var(--panel-soft);border: 1px solid var(--line);border-radius: var(--radius-md);display: grid;gap: 0.35rem;padding: var(--space-sm)}.ui-evidence-item__title{color: var(--text);font-size: var(--text-sm);font-weight: 600;margin: 0}.ui-evidence-item__meta{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: 0}.ui-evidence-item__body{color: var(--text-soft);font-size: var(--text-sm);line-height: 1.55;margin: 0}.ui-evidence-item__kind,.ui-evidence-item__method,.ui-evidence-item__window,.ui-evidence-item__value,.ui-evidence-item__source,.ui-evidence-item__caveat{margin: 0}.ui-evidence-item__kind,.ui-evidence-item__method,.ui-evidence-item__window,.ui-evidence-item__source{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: 0;text-transform: uppercase}.ui-evidence-item__value{color: var(--text);font-size: var(--text-base);font-weight: 650}.ui-evidence-item__caveat{color: var(--text-dim);font-size: var(--text-sm);line-height: 1.5}.ui-evidence-ledger{display: grid;gap: var(--space-sm)}.ui-report__actions{border-block-start: 1px solid var(--line);display: grid;gap: 0}.ui-report__action{align-items: start;border-block-end: 1px solid var(--line);display: grid;gap: var(--space-xs);grid-template-columns: minmax(0,1fr) auto;padding-block: var(--space-sm)}.ui-report__action > :not(.ui-report__action-status){grid-column: 1}.ui-report__action-status{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);grid-column: 2;grid-row: 1;letter-spacing: var(--tracking-wide);place-self: start end;text-transform: uppercase;white-space: nowrap}.ui-report__action-title,.ui-report__action-owner,.ui-report__action-due,.ui-report__action-priority,.ui-report__action-criteria,.ui-report__action-source{margin: 0}.ui-report__action-title{color: var(--text);font-weight: 650;line-height: 1.45}.ui-report__action-owner,.ui-report__action-due,.ui-report__action-priority,.ui-report__action-source{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: 0;text-transform: uppercase}.ui-report__action-criteria{color: var(--text-soft);font-size: var(--text-sm);line-height: 1.5}@media (max-width: 32rem){.ui-report__decision-item,.ui-report__action{grid-template-columns: 1fr}.ui-report__action-status{grid-column: 1;grid-row: auto;place-self: auto start}}.ui-report__sources,.ui-report__appendix,.ui-report__footnotes{border-block-start: 1px solid var(--line);color: var(--text-dim);display: grid;font-size: var(--text-sm);gap: var(--space-sm);padding-block-start: var(--space-md)}.ui-compare{display: grid;gap: var(--space-md);grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr))}.ui-compare--2up{grid-template-columns: repeat(2,minmax(0,1fr))}@media (max-width: 33rem){.ui-compare--2up{grid-template-columns: 1fr}}.ui-compare__col{align-content: start;display: grid;gap: var(--space-sm)}.ui-compare__head{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: var(--tracking-wide);text-transform: uppercase}.ui-meter__row{align-items: center;display: grid;gap: var(--space-2xs) var(--space-md);grid-template-columns: minmax(9rem,14rem) 1fr auto;margin-block: var(--space-2xs)}.ui-meter__row .ui-meter{min-inline-size: 8rem}.ui-meter__label{color: var(--text-soft)}.ui-meter__value{color: var(--text);font-family: var(--mono);font-variant-numeric: tabular-nums;text-align: end}@media (max-width: 32rem){.ui-meter__row{grid-template-columns: 1fr}.ui-meter__value{text-align: start}}.ui-print-only{display: none !important}.ui-print-exact{-webkit-print-color-adjust: exact;print-color-adjust: exact}@media print{@page{margin: 18mm}.ui-report{--report-padding-block: 0;color-scheme: light;--text: #111;--text-soft: #2a2a2a;--text-dim: #555;--panel: #fff;--panel-soft: #f7f7f7;--line: #d9d9d9;--line-strong: #b3b3b3;inline-size: auto;padding: 0}.ui-report__cover{min-block-size: auto}.ui-report,.ui-report__section,.ui-report__figure,.ui-report__actions,.ui-evidence-ledger{display: block}.ui-report > * + *{margin-block-start: var(--report-gap)}.ui-report__section > * + *{margin-block-start: var(--space-md)}.ui-report__figure > * + *,.ui-evidence-ledger > * + *{margin-block-start: var(--space-sm)}.ui-report__cover,.ui-report__head,.ui-report__decision,.ui-report__summary,.ui-report__finding,.ui-report__evidence,.ui-report__figure,.ui-report__toc,.ui-claim,.ui-evidence-item,.ui-report__action,.ui-stat,.ui-statgrid > *,tr{break-inside: avoid}.ui-report__section-head{break-after: avoid}.ui-print-only{display: var(--print-display,block) !important}.ui-screen-only{display: none !important}.ui-break-before{break-before: page}.ui-break-after{break-after: page}.ui-keep{break-inside: avoid}}:root{--chart-1: var(--accent);--chart-2: #e69f00;--chart-3: #56b4e9;--chart-4: #009e73;--chart-5: #f0e442;--chart-6: #0072b2;--chart-7: #cc79a7;--chart-8: #4d5358;--chart-seq-1: oklch(94% 0.03 25deg);--chart-seq-2: oklch(85% 0.07 25deg);--chart-seq-3: oklch(74% 0.12 25deg);--chart-seq-4: oklch(62% 0.16 25deg);--chart-seq-5: oklch(50% 0.16 25deg);--chart-seq-6: oklch(38% 0.13 25deg);--chart-div-1: oklch(45% 0.14 255deg);--chart-div-2: oklch(62% 0.1 250deg);--chart-div-3: oklch(82% 0.05 245deg);--chart-div-4: oklch(90% 0.01 250deg);--chart-div-5: oklch(80% 0.07 60deg);--chart-div-6: oklch(66% 0.13 55deg);--chart-div-7: oklch(56% 0.15 45deg);--chart-pattern-size: 8px;--chart-pattern-ink: rgb(0 0 0 / 0.34);--chart-pattern-1: none;--chart-pattern-2: radial-gradient(circle at 50% 50%,var(--chart-pattern-ink) 1.4px,transparent 1.6px);--chart-pattern-3: radial-gradient(circle at 0 0,var(--chart-pattern-ink) 1.4px,transparent 1.6px);--chart-pattern-4: radial-gradient(circle at 25% 25%,var(--chart-pattern-ink) 1.2px,transparent 1.4px),radial-gradient(circle at 75% 75%,var(--chart-pattern-ink) 1.2px,transparent 1.4px);--chart-pattern-5: radial-gradient(circle at 50% 25%,var(--chart-pattern-ink) 1.2px,transparent 1.4px),radial-gradient(circle at 50% 75%,var(--chart-pattern-ink) 1.2px,transparent 1.4px);--chart-pattern-6: radial-gradient(circle at 25% 50%,var(--chart-pattern-ink) 1.2px,transparent 1.4px),radial-gradient(circle at 75% 50%,var(--chart-pattern-ink) 1.2px,transparent 1.4px);--chart-pattern-7: radial-gradient(circle at 25% 25%,var(--chart-pattern-ink) 1px,transparent 1.2px),radial-gradient(circle at 75% 25%,var(--chart-pattern-ink) 1px,transparent 1.2px),radial-gradient(circle at 25% 75%,var(--chart-pattern-ink) 1px,transparent 1.2px),radial-gradient(circle at 75% 75%,var(--chart-pattern-ink) 1px,transparent 1.2px);--chart-pattern-8: radial-gradient(circle at 50% 50%,transparent 1.2px,var(--chart-pattern-ink) 1.4px,transparent 2.2px)}@media (prefers-color-scheme: dark){:root:not([data-theme='light']){--chart-1: var(--accent);--chart-2: #e69f00;--chart-3: #56b4e9;--chart-4: #009e73;--chart-5: #f0e442;--chart-6: #0072b2;--chart-7: #cc79a7;--chart-8: #4d5358;--chart-seq-1: oklch(30% 0.1 25deg);--chart-seq-2: oklch(42% 0.15 25deg);--chart-seq-3: oklch(55% 0.17 25deg);--chart-seq-4: oklch(68% 0.15 25deg);--chart-seq-5: oklch(80% 0.1 25deg);--chart-seq-6: oklch(90% 0.05 25deg);--chart-div-1: oklch(70% 0.13 250deg);--chart-div-2: oklch(60% 0.12 252deg);--chart-div-3: oklch(48% 0.08 255deg);--chart-div-4: oklch(40% 0.01 250deg);--chart-div-5: oklch(58% 0.1 60deg);--chart-div-6: oklch(72% 0.13 58deg);--chart-div-7: oklch(80% 0.12 55deg);--chart-pattern-ink: rgb(255 255 255 / 0.42)}}:root[data-theme='dark']{--chart-1: var(--accent);--chart-2: #e69f00;--chart-3: #56b4e9;--chart-4: #009e73;--chart-5: #f0e442;--chart-6: #0072b2;--chart-7: #cc79a7;--chart-8: #4d5358;--chart-seq-1: oklch(30% 0.1 25deg);--chart-seq-2: oklch(42% 0.15 25deg);--chart-seq-3: oklch(55% 0.17 25deg);--chart-seq-4: oklch(68% 0.15 25deg);--chart-seq-5: oklch(80% 0.1 25deg);--chart-seq-6: oklch(90% 0.05 25deg);--chart-div-1: oklch(70% 0.13 250deg);--chart-div-2: oklch(60% 0.12 252deg);--chart-div-3: oklch(48% 0.08 255deg);--chart-div-4: oklch(40% 0.01 250deg);--chart-div-5: oklch(58% 0.1 60deg);--chart-div-6: oklch(72% 0.13 58deg);--chart-div-7: oklch(80% 0.12 55deg);--chart-pattern-ink: rgb(255 255 255 / 0.42)}.ui-figure{display: grid;gap: var(--space-sm);margin: 0;min-inline-size: 0}.ui-figure > *,.ui-figure__body > *,.ui-figure__stage > *{min-inline-size: 0}.ui-figure__caption{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: 0;line-height: 1.5;text-transform: uppercase}.ui-figure__body{align-items: start;display: grid;gap: var(--space-sm)}.ui-figure__body--key-right{grid-template-columns: minmax(0,1fr) minmax(min(100%,10rem),var(--figure-key-width,14rem))}.ui-figure__stage{--figure-max-inline: 42rem;--figure-min-block: 0px;display: grid;inline-size: min(100%,var(--figure-max-inline));margin-inline: auto;min-block-size: var(--figure-min-block);place-items: center;position: relative}.ui-figure__media{display: block;inline-size: 100%;max-inline-size: 100%}.ui-figure__stage > :is(canvas,img,picture,svg):not(.ui-figure__overlay){display: block;max-inline-size: 100%}.ui-figure__overlay{block-size: 100%;inline-size: 100%;inset: 0;overflow: visible;pointer-events: none;position: absolute}.ui-figure__key,.ui-figure__data{display: grid;gap: var(--space-xs)}.ui-figure__data{margin-block-start: var(--space-xs)}@media (max-width: 44rem){.ui-figure__body--key-right{grid-template-columns: 1fr}}@media print{.ui-figure{break-inside: avoid}.ui-figure__body{display: block}.ui-figure__body > * + *{margin-block-start: var(--space-sm)}}.ui-annotation{--annotation-color: var(--accent);--annotation-line: var(--line-strong);--annotation-note-bg: var(--panel);--annotation-subject-fill: color-mix(in srgb,var(--annotation-color) 8%,transparent);--annotation-stroke-width: 1.5;color: var(--annotation-color);font-family: var(--mono);font-size: var(--text-xs);overflow: visible}.ui-annotation--muted{--annotation-color: var(--text-dim);--annotation-line: var(--line)}.ui-annotation--accent{--annotation-color: var(--accent);--annotation-line: var(--line-strong)}.ui-annotation--success{--annotation-color: var(--success)}.ui-annotation--warning{--annotation-color: var(--warning)}.ui-annotation--danger{--annotation-color: var(--danger)}.ui-annotation--info{--annotation-color: var(--info)}.ui-annotation__subject,.ui-annotation__connector,.ui-annotation__connector-end,.ui-annotation__note-line,.ui-annotation__badge{vector-effect: non-scaling-stroke}.ui-annotation__subject{fill: var(--annotation-subject-fill);stroke: var(--annotation-color);stroke-linejoin: miter;stroke-width: var(--annotation-stroke-width)}.ui-annotation__connector,.ui-annotation__note-line{fill: none;stroke: var(--annotation-line);stroke-linecap: square;stroke-linejoin: miter;stroke-opacity: 0.86;stroke-width: var(--annotation-stroke-width)}.ui-annotation__connector-end{fill: var(--annotation-line);stroke: none}.ui-annotation__note{color: var(--text-soft);fill: currentColor}.ui-annotation__note > rect{fill: var(--annotation-note-bg);stroke: var(--line);stroke-width: 1;vector-effect: non-scaling-stroke}.ui-annotation__title{fill: var(--text);font-size: var(--text-xs);font-weight: 700;letter-spacing: 0;paint-order: stroke fill;stroke: var(--annotation-note-bg);stroke-linejoin: round;stroke-width: 3;text-transform: uppercase}.ui-annotation__label{fill: var(--text-soft);font-size: var(--text-xs);letter-spacing: 0;paint-order: stroke fill;stroke: var(--annotation-note-bg);stroke-linejoin: round;stroke-width: 3}.ui-annotation__badge{fill: var(--annotation-note-bg);stroke: var(--annotation-color);stroke-width: var(--annotation-stroke-width)}.ui-annotation--label .ui-annotation__subject,.ui-annotation--badge .ui-annotation__connector,.ui-annotation--badge .ui-annotation__note-line{display: none}.ui-annotation--callout .ui-annotation__note-line,.ui-annotation--elbow .ui-annotation__note-line,.ui-annotation--curve .ui-annotation__note-line{stroke: var(--annotation-color)}.ui-annotation--elbow .ui-annotation__connector{stroke-linejoin: bevel}.ui-annotation--curve .ui-annotation__connector{stroke-linecap: round}.ui-annotation--circle .ui-annotation__subject{stroke-dasharray: 0.01 4;stroke-linecap: round}.ui-annotation--rect .ui-annotation__subject{stroke-dasharray: 5 3}.ui-annotation--threshold .ui-annotation__subject{fill: none;stroke: var(--annotation-color);stroke-dasharray: 6 4}.ui-annotation--badge .ui-annotation__subject{fill: var(--annotation-color)}.ui-annotation--badge .ui-annotation__badge{fill: var(--annotation-color)}.ui-annotation--badge .ui-annotation__title,.ui-annotation--badge .ui-annotation__label{fill: var(--button-text);stroke: none}.ui-annotation--bracket .ui-annotation__subject,.ui-annotation--compare .ui-annotation__subject,.ui-annotation--axis .ui-annotation__subject,.ui-annotation--timeline .ui-annotation__subject{fill: none;stroke: var(--annotation-color);stroke-linecap: square}.ui-annotation--band .ui-annotation__subject{fill: var(--annotation-subject-fill);stroke: var(--annotation-color);stroke-dasharray: 5 3}.ui-annotation--slope .ui-annotation__subject{fill: none;stroke: var(--annotation-color);stroke-linecap: round}.ui-annotation--cluster .ui-annotation__subject{fill: var(--annotation-subject-fill);stroke: var(--annotation-color);stroke-dasharray: 0.01 5;stroke-linecap: round}.ui-annotation--evidence .ui-annotation__badge{fill: var(--annotation-note-bg);stroke: var(--annotation-color)}.ui-annotation--evidence .ui-annotation__title{fill: var(--annotation-color);stroke: none}.ui-annotation--focus{--annotation-stroke-width: 2;--annotation-subject-fill: color-mix(in srgb,var(--annotation-color) 14%,transparent)}@media (prefers-reduced-motion: no-preference){.ui-annotation--draw .ui-annotation__connector,.ui-annotation--draw .ui-annotation__note-line{animation: uiAnnotationDraw var(--duration-slow,600ms) var(--ease-out,ease-out) both;animation-delay: var(--annotation-delay,0ms);stroke-dasharray: var(--annotation-dash,360);stroke-dashoffset: var(--annotation-dash,360)}.ui-annotation--draw .ui-annotation__subject,.ui-annotation--draw .ui-annotation__badge{animation: uiAnnotationSubjectReveal var(--duration-slow,600ms) var(--ease-out,ease-out) both;animation-delay: var(--annotation-delay,0ms)}.ui-annotation--reveal .ui-annotation__note{animation: uiAnnotationReveal var(--duration-slow,600ms) var(--ease-out,ease-out) both;animation-delay: var(--annotation-delay,0ms)}.ui-annotation--pulse .ui-annotation__subject,.ui-annotation--pulse .ui-annotation__badge{animation: uiAnnotationPulse 1.6s var(--ease-out,ease-out) infinite;animation-delay: var(--annotation-delay,0ms);transform-box: fill-box;transform-origin: center}}@keyframes uiAnnotationDraw{to{stroke-dashoffset: 0}}@keyframes uiAnnotationSubjectReveal{from{opacity: 0}to{opacity: 1}}@keyframes uiAnnotationReveal{from{opacity: 0}to{opacity: 1}}@keyframes uiAnnotationPulse{50%{opacity: 0.62;transform: scale(1.06)}}@media print{.ui-annotation__subject,.ui-annotation__connector,.ui-annotation__note,.ui-annotation__note-line,.ui-annotation__badge{animation: none !important;opacity: 1;stroke-dashoffset: 0;transform: none}}@media (forced-colors: active){.ui-annotation{--annotation-color: CanvasText;--annotation-line: CanvasText;--annotation-note-bg: Canvas;--annotation-subject-fill: Canvas}}.ui-legend{color: var(--text-soft);display: flex;flex-wrap: wrap;font-family: var(--mono);font-size: var(--text-xs);gap: var(--space-2xs) var(--space-md);list-style: none;margin: 0;padding: 0}.ui-legend--vertical{flex-direction: column}.ui-legend--compact{font-size: var(--text-2xs);gap: var(--space-2xs) var(--space-sm)}.ui-legend__title{color: var(--text-dim);font-size: var(--text-2xs);letter-spacing: 0;margin: 0;text-transform: uppercase}.ui-legend__item{align-items: center;color: inherit;display: inline-flex;gap: 0.45rem}.ui-legend__label{color: inherit}.ui-legend__value{color: var(--text-dim);font-variant-numeric: tabular-nums;margin-inline-start: auto}.ui-legend__caption{color: var(--text-dim);font-size: var(--text-2xs);letter-spacing: 0;text-transform: uppercase}.ui-legend__swatch{background: var(--chart-color,var(--chart-1,var(--accent)));background-image: var(--chart-pattern,none);background-size: var(--chart-pattern-size,8px);block-size: 0.8rem;border: 1px solid var(--line-strong);flex: 0 0 auto;inline-size: 0.8rem}.ui-legend__swatch--circle{border-radius: 50%}.ui-legend__swatch--line{block-size: 0.2rem;border: 0;inline-size: 1.1rem}.ui-legend__symbol{block-size: 0.95rem;color: var(--chart-color,var(--chart-1,var(--accent)));flex: 0 0 auto;inline-size: 0.95rem}.ui-legend__swatch--1{--chart-color: var(--chart-1)}.ui-legend__swatch--2{--chart-color: var(--chart-2)}.ui-legend__swatch--3{--chart-color: var(--chart-3)}.ui-legend__swatch--4{--chart-color: var(--chart-4)}.ui-legend__swatch--5{--chart-color: var(--chart-5)}.ui-legend__swatch--6{--chart-color: var(--chart-6)}.ui-legend__swatch--7{--chart-color: var(--chart-7)}.ui-legend__swatch--8{--chart-color: var(--chart-8)}.ui-legend--gradient{display: grid;gap: var(--space-2xs)}.ui-legend__track{background: linear-gradient( 90deg in oklch,var(--chart-seq-1),var(--chart-seq-2),var(--chart-seq-3),var(--chart-seq-4),var(--chart-seq-5),var(--chart-seq-6) );block-size: 0.7rem;border: 1px solid var(--line)}.ui-legend--diverging .ui-legend__track{background: linear-gradient( 90deg in oklch,var(--chart-div-1),var(--chart-div-2),var(--chart-div-3),var(--chart-div-4),var(--chart-div-5),var(--chart-div-6),var(--chart-div-7) )}.ui-legend__ticks{color: var(--text-dim);display: flex;font-size: var(--text-2xs);justify-content: space-between}.ui-legend__tick{font-variant-numeric: tabular-nums}.ui-legend--threshold{align-items: center;display: grid;gap: 0.35rem var(--space-sm);grid-template-columns: auto 1fr}.ui-legend--with-values{display: grid;gap: 0.35rem var(--space-md);grid-template-columns: auto 1fr auto}.ui-legend--with-values .ui-legend__item{display: grid;grid-column: 1 / -1;grid-template-columns: subgrid}.ui-legend--with-values .ui-legend__value{margin-inline-start: 0;text-align: end}.ui-legend--interactive .ui-legend__item:is(button,[role='button']){background: none;border: 0;border-radius: var(--radius-sm);color: inherit;cursor: pointer;font: inherit;padding-block: 0.15rem;padding-inline: 0.3rem;text-align: start}.ui-legend--interactive .ui-legend__item:is(button,[role='button']):focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.ui-legend__item.is-inactive,.ui-legend__item[aria-pressed='false']{opacity: 0.45}.ui-legend__item.is-inactive .ui-legend__label,.ui-legend__item[aria-pressed='false'] .ui-legend__label{text-decoration: line-through}@media (forced-colors: active){.ui-legend__swatch{border: 1px solid CanvasText;forced-color-adjust: none}.ui-legend__track{forced-color-adjust: none}.ui-legend__item.is-inactive,.ui-legend__item[aria-pressed='false']{opacity: 1}}@media print{.ui-legend__swatch,.ui-legend__track{-webkit-print-color-adjust: exact;print-color-adjust: exact}}.ui-mark{background-color: transparent;background-image: linear-gradient( 90deg,color-mix(in srgb,var(--mark-color,var(--line-strong)) 30%,transparent),color-mix(in srgb,var(--mark-color,var(--line-strong)) 30%,transparent) );background-repeat: no-repeat;background-size: 100% 100%;border-radius: 0.12em;box-decoration-break: clone;color: inherit;padding-block: 0.05em;padding-inline: 0.18em}.ui-mark--accent{--mark-color: var(--accent)}.ui-mark--success{--mark-color: var(--success)}.ui-mark--warning{--mark-color: var(--warning)}.ui-mark--danger{--mark-color: var(--danger)}.ui-mark--info{--mark-color: var(--info)}.ui-mark--muted{--mark-color: var(--text-dim)}.ui-mark--underline{background: none;padding: 0;text-decoration-color: var(--mark-color,var(--text-dim));text-decoration-line: underline;text-decoration-thickness: 0.12em;text-underline-offset: 0.18em}.ui-mark--box{background: none;border: 1px solid var(--mark-color,var(--line-strong));border-radius: var(--radius-sm)}.ui-mark--strike{background: none;padding: 0;text-decoration-color: var(--mark-color,var(--text-dim));text-decoration-line: line-through}@media (prefers-reduced-motion: no-preference){.ui-mark--draw:not(.ui-mark--underline,.ui-mark--box,.ui-mark--strike){animation: ui-mark-draw 0.6s var(--ease,ease) both}}@keyframes ui-mark-draw{from{background-size: 0% 100%}to{background-size: 100% 100%}}.ui-bracket-note{--mark-color: var(--line-strong);border-inline-start: 2px solid var(--mark-color);display: block;padding-inline-start: var(--space-md)}.ui-bracket-note__label{color: var(--mark-color);display: block;font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: 0;margin-block-end: var(--space-2xs);text-transform: uppercase}.ui-bracket-note--accent{--mark-color: var(--accent)}.ui-bracket-note--success{--mark-color: var(--success)}.ui-bracket-note--warning{--mark-color: var(--warning)}.ui-bracket-note--danger{--mark-color: var(--danger)}.ui-bracket-note--info{--mark-color: var(--info)}@media (forced-colors: active){.ui-mark:not(.ui-mark--underline,.ui-mark--box,.ui-mark--strike){text-decoration-line: underline}}@media print{.ui-mark{-webkit-print-color-adjust: exact;background-size: 100% 100%;print-color-adjust: exact}.ui-mark--draw{animation: none}}.ui-connector{--connector-color: var(--line-strong);color: var(--connector-color);inset: 0;overflow: visible;pointer-events: none;position: absolute}.ui-connector__path{fill: none;stroke: var(--connector-color);stroke-linecap: round;stroke-linejoin: round;stroke-width: var(--connector-width,1.5);vector-effect: non-scaling-stroke}.ui-connector__end{fill: var(--connector-color);stroke: none}.ui-connector--dashed .ui-connector__path{stroke-dasharray: 4 3}.ui-connector--accent{--connector-color: var(--accent)}.ui-connector--muted{--connector-color: var(--line)}.ui-connector--success{--connector-color: var(--success)}.ui-connector--warning{--connector-color: var(--warning)}.ui-connector--danger{--connector-color: var(--danger)}.ui-connector--info{--connector-color: var(--info)}@media (prefers-reduced-motion: no-preference){.ui-connector--draw .ui-connector__path{animation: ui-connector-draw 0.6s ease both;stroke-dasharray: 1}}@keyframes ui-connector-draw{from{stroke-dashoffset: 1}to{stroke-dashoffset: 0}}@media (forced-colors: active){.ui-connector__path{stroke: CanvasText}.ui-connector__end{fill: CanvasText}}@media print{.ui-connector__path,.ui-connector__end{-webkit-print-color-adjust: exact;print-color-adjust: exact}.ui-connector--draw .ui-connector__path{animation: none;stroke-dasharray: none;stroke-dashoffset: 0}}.ui-spotlight{--spot-x: 50%;--spot-y: 50%;--spot-w: 0px;--spot-h: 0px;--spot-pad: 8px;--spot-radius: var(--radius-md);--spot-backdrop: color-mix(in srgb,#000 55%,transparent);inset: 0;pointer-events: none;position: fixed;z-index: var(--z-overlay,1000)}.ui-spotlight__hole{background: transparent;block-size: calc(var(--spot-h) + var(--spot-pad) * 2);border-radius: var(--spot-radius);box-shadow: 0 0 0 100vmax var(--spot-backdrop);inline-size: calc(var(--spot-w) + var(--spot-pad) * 2);inset-block-start: 0;inset-inline-start: 0;position: absolute;transform: translate( calc(var(--spot-x) - var(--spot-pad)),calc(var(--spot-y) - var(--spot-pad)) );transition: transform 0.2s ease,inline-size 0.2s ease,block-size 0.2s ease}@media (prefers-reduced-motion: reduce){.ui-spotlight__hole{transition: none}}.ui-spotlight--ring .ui-spotlight__hole{outline: 2px solid var(--accent);outline-offset: 0}.ui-tour-note{background: var(--panel);border: 1px solid var(--line);border-radius: var(--radius-md);box-shadow: var(--shadow-raised);color: var(--text);display: grid;gap: var(--space-sm);max-inline-size: min(22rem,calc(100vw - 2rem));padding: var(--space-md);pointer-events: auto}.ui-tour-note__step{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: 0;text-transform: uppercase}.ui-tour-note__title{color: var(--text);font-size: var(--text-lg);font-weight: 600;margin: 0}.ui-tour-note__body{color: var(--text-soft);margin: 0}.ui-tour-note__actions{display: flex;gap: var(--space-sm);justify-content: flex-end}@media (forced-colors: active){.ui-spotlight__hole{outline: 2px solid CanvasText}}.ui-crosshair{--crosshair-x: 0;--crosshair-y: 0;--crosshair-color: var(--accent);inset: 0;opacity: 0;pointer-events: none;position: absolute;transition: opacity 0.12s ease}.ui-crosshair.is-active{opacity: 1}@media (prefers-reduced-motion: reduce){.ui-crosshair{transition: none}}.ui-crosshair--muted{--crosshair-color: var(--line-strong)}.ui-crosshair__line{background: var(--crosshair-color);position: absolute}.ui-crosshair__line--x{inline-size: 1px;inset-block: 0;inset-inline-start: var(--crosshair-x)}.ui-crosshair__line--y{block-size: 1px;inset-block-start: var(--crosshair-y);inset-inline: 0}.ui-crosshair__badge{background: var(--crosshair-color);border-radius: var(--radius-sm);color: var(--button-text);font-family: var(--mono);font-size: var(--text-2xs);padding-block: 0.05rem;padding-inline: 0.3rem;position: absolute;white-space: nowrap}.ui-crosshair--muted .ui-crosshair__badge{background: var(--panel);border: 1px solid var(--line-strong);color: var(--text)}.ui-readout{background: var(--panel);border: 1px solid var(--line);border-radius: var(--radius-sm);box-shadow: var(--shadow-raised);color: var(--text);font-family: var(--mono);font-size: var(--text-xs);inset-block-start: var(--crosshair-y);inset-inline-start: var(--crosshair-x);padding-block: 0.2rem;padding-inline: 0.4rem;pointer-events: none;position: absolute}@media (forced-colors: active){.ui-crosshair__line{background: CanvasText}}.ui-sel{transition: opacity 0.12s ease,outline-color 0.12s ease}@media (prefers-reduced-motion: reduce){.ui-sel{transition: none}}.ui-sel--on{outline: 2px solid var(--accent);outline-offset: 1px}.ui-sel--off{opacity: 0.35}.ui-sel--maybe{outline: 1px dashed var(--accent);outline-offset: 1px}@media (forced-colors: active){.ui-sel--on{outline-color: Highlight}}.ui-citation,.ui-source-card,.ui-provenance{--src-tone: var(--text-dim)}.ui-src{--src-tone: var(--text-dim);align-items: center;background: var(--panel-soft);border: 1px solid color-mix(in srgb,var(--src-tone) 45%,var(--line));border-radius: var(--radius-pill);color: var(--text-soft);display: inline-flex;font-size: var(--text-2xs);gap: 0.35rem;padding: 0.08rem 0.55rem;vertical-align: baseline}.ui-src::before{background: var(--src-tone);border-radius: 50%;block-size: 0.45rem;content: '';flex: none;inline-size: 0.45rem;print-color-adjust: exact}.ui-src--verified{--src-tone: var(--success)}.ui-src--reviewed{--src-tone: var(--accent)}.ui-src--generated{--src-tone: var(--info)}.ui-src--unverified{--src-tone: var(--text-dim)}.ui-src--stale{--src-tone: var(--warning)}.ui-src--conflict{--src-tone: var(--danger)}.ui-citation{color: var(--accent-text);font-family: var(--mono);font-size: 0.72em;font-weight: 600;text-decoration: none;vertical-align: super}.ui-citation:hover{text-decoration: underline}.ui-citation--chip{align-items: center;background: var(--panel-soft);border: 1px solid var(--line);border-radius: var(--radius-pill);color: var(--text-soft);display: inline-flex;font-size: var(--text-2xs);gap: 0.35rem;padding: 0.08rem 0.55rem;vertical-align: baseline}.ui-citation--chip::before{background: var(--src-tone);border-radius: 50%;block-size: 0.45rem;content: '';inline-size: 0.45rem;print-color-adjust: exact}.ui-source-list{display: grid;gap: var(--space-sm);list-style: none;margin: 0;min-inline-size: 0;padding: 0}.ui-source-list__item{margin: 0;min-inline-size: 0}.ui-source-card{background: var(--panel-soft);border: 1px solid var(--line);border-inline-start: 2px solid var(--src-tone);border-radius: var(--radius-md);display: grid;gap: 0.3rem;min-inline-size: 0;padding: 0.75rem 0.9rem;print-color-adjust: exact}.ui-source-card:target,.ui-source-card.is-source-active{box-shadow: 0 0 0 3px color-mix(in srgb,var(--src-tone) 22%,transparent);outline: 2px solid var(--src-tone);outline-offset: 2px}.ui-source-card > *{min-inline-size: 0}.ui-source-card__title{color: var(--text);font-size: var(--text-sm);font-weight: 600;margin: 0;overflow-wrap: break-word}.ui-source-card__origin{color: var(--text-soft);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: var(--tracking-wide);overflow-wrap: anywhere}.ui-source-card__time{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);overflow-wrap: anywhere}.ui-source-card__excerpt{color: var(--text-soft);margin: 0;overflow-wrap: anywhere}.ui-source-card__actions{display: flex;flex-wrap: wrap;gap: 0.5rem;margin-block-start: 0.2rem}.ui-provenance{align-items: center;color: var(--text-dim);display: inline-flex;flex-wrap: wrap;font-family: var(--mono);font-size: var(--text-2xs);gap: 0.3rem 0.75rem;letter-spacing: var(--tracking-wide)}.ui-provenance__item{align-items: center;display: inline-flex;gap: 0.35rem}.ui-provenance__item::before{background: var(--src-tone);border-radius: 50%;block-size: 0.45rem;content: '';inline-size: 0.45rem;print-color-adjust: exact}@media (forced-colors: active){.ui-citation--chip::before,.ui-provenance__item::before,.ui-src::before{background: CanvasText}.ui-source-card{border-inline-start-color: CanvasText}}@media print{.ui-citation[href]::after{content: none !important}.ui-source-card,.ui-source-list__item{break-inside: avoid}}.ui-generated{background: color-mix(in srgb,var(--accent) 4%,transparent);border: 1px solid var(--line);border-inline-start: 2px solid var(--accent);border-radius: var(--radius-md);display: grid;gap: var(--space-xs);padding: 0.85rem 1rem;print-color-adjust: exact}.ui-generated__label{align-items: center;color: var(--text-dim);display: inline-flex;font-family: var(--mono);font-size: var(--text-2xs);gap: 0.4rem;letter-spacing: var(--tracking-wide);text-transform: uppercase}.ui-origin-label{align-items: center;border: 1px solid var(--line);border-radius: var(--radius-pill);color: var(--text-soft);display: inline-flex;font-family: var(--mono);font-size: var(--text-2xs);gap: 0.35rem;letter-spacing: var(--tracking-wide);padding: 0.08rem 0.55rem;text-transform: uppercase}.ui-origin-label--ai{border-color: var(--accent);color: var(--accent-text)}.ui-reasoning{color: var(--text-dim);font-size: var(--text-sm)}.ui-reasoning > summary{color: var(--text-soft);cursor: pointer;font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: var(--tracking-wide);text-transform: uppercase}.ui-reasoning__body{margin-block-start: var(--space-xs)}.ui-tool-log{display: grid;gap: var(--space-2xs)}.ui-tool-call{border: 1px solid var(--line);border-radius: var(--radius-sm);font-family: var(--mono);font-size: var(--text-2xs)}.ui-tool-call > summary{align-items: center;cursor: pointer;display: flex;gap: 0.5rem;padding: 0.4rem 0.6rem}.ui-tool-call__name{color: var(--text)}.ui-tool-call__status{color: var(--text-dim);margin-inline-start: auto}.ui-tool-call__body{border-block-start: 1px solid var(--line);color: var(--text-soft);margin: 0;overflow-x: auto;padding: 0.5rem 0.6rem;white-space: pre-wrap}@media (forced-colors: active){.ui-generated{border-inline-start-color: CanvasText}}.ui-state{--state-tone: var(--text-dim);align-items: center;display: inline-flex;font-size: var(--text-sm);gap: 0.4rem}.ui-state::before{background: var(--state-tone);border-radius: 50%;block-size: 0.5rem;content: '';flex: none;inline-size: 0.5rem;print-color-adjust: exact}.ui-state__label{color: var(--text)}.ui-state__detail{color: var(--text-dim);font-size: var(--text-2xs)}.ui-state--busy::before{animation: uiStatePulse 1.1s ease-in-out infinite}@keyframes uiStatePulse{50%{opacity: 0.3}}@media (prefers-reduced-motion: reduce){.ui-state--busy::before{animation: none}}.ui-state--saving{--state-tone: var(--accent)}.ui-state--saved{--state-tone: var(--success)}.ui-state--queued{--state-tone: var(--text-dim)}.ui-state--offline{--state-tone: var(--warning)}.ui-state--stale{--state-tone: var(--warning)}.ui-state--conflict{--state-tone: var(--danger)}.ui-state--error{--state-tone: var(--danger)}.ui-state--locked{--state-tone: var(--text-dim)}.ui-state--reviewed{--state-tone: var(--success)}.ui-state--needs-review{--state-tone: var(--warning)}.ui-syncbar{align-items: center;border-block-end: 1px solid var(--line);display: flex;flex-wrap: wrap;gap: var(--space-sm) var(--space-md);justify-content: space-between;padding-block: var(--space-xs)}.ui-job{--job-progress: 0%;--job-tone: var(--text-dim);background: var(--panel);border: 1px solid var(--line);border-inline-start: 2px solid var(--job-tone);border-radius: var(--radius-md);display: grid;gap: var(--space-sm);padding: var(--space-md)}.ui-job__head{align-items: start;display: flex;flex-wrap: wrap;gap: var(--space-xs) var(--space-md);justify-content: space-between}.ui-job__title{color: var(--text);font-family: var(--display);font-size: var(--text-sm);letter-spacing: var(--tracking-wide);margin: 0;text-transform: uppercase}.ui-job__meta{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: var(--tracking-wide);text-transform: uppercase}.ui-job__body{color: var(--text-soft);margin: 0}.ui-job__progress{background: var(--panel-soft);border: 1px solid var(--line);border-radius: var(--radius-pill);block-size: 0.5rem;overflow: hidden}.ui-job__bar{background: var(--job-tone);block-size: 100%;display: block;inline-size: clamp(0%,var(--job-progress),100%);min-inline-size: 1px;print-color-adjust: exact;transition: inline-size var(--duration-base) var(--ease-standard)}.ui-job__actions{align-items: center;display: flex;flex-wrap: wrap;gap: var(--space-xs)}.ui-job--compact{gap: var(--space-xs);padding: var(--space-sm)}.ui-job--queued{--job-tone: var(--text-dim)}.ui-job--running{--job-tone: var(--accent)}.ui-job--blocked{--job-tone: var(--warning)}.ui-job--failed{--job-tone: var(--danger)}.ui-job--complete{--job-tone: var(--success)}.ui-job--running .ui-job__bar{background-image: linear-gradient( 90deg,var(--job-tone),color-mix(in srgb,var(--job-tone) 62%,var(--panel)) )}@media (prefers-reduced-motion: reduce){.ui-job__bar{transition: none}}@media (forced-colors: active){.ui-state::before{background: CanvasText}.ui-job{border-inline-start-color: CanvasText}.ui-job__bar{background: CanvasText}}.ui-interval{--lo: 0;--hi: 1;display: grid;gap: 0.35rem;inline-size: 100%;min-inline-size: 0}.ui-interval__track{background: var(--surface-4);block-size: 0.7rem;border: 1px solid var(--line);border-radius: var(--radius-pill);min-inline-size: 8rem;position: relative}.ui-interval__range{background: color-mix(in srgb,var(--accent) 26%,transparent);border: 1px solid color-mix(in srgb,var(--accent) 58%,var(--line));border-radius: var(--radius-pill);inline-size: max(2px,calc((var(--hi) - var(--lo)) * 100%));inset-block: 18%;inset-inline-start: calc(var(--lo) * 100%);position: absolute}.ui-interval__point{background: var(--text);border: 2px solid var(--panel);border-radius: 50%;block-size: 0.72rem;box-shadow: 0 0 0 1px var(--line-strong);inline-size: 0.72rem;inset-block-start: 50%;inset-inline-start: calc(var(--v,var(--lo)) * 100%);position: absolute;transform: translate(-50%,-50%)}.ui-interval__label,.ui-interval__bounds{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: 0}.ui-interval__label{color: var(--text-soft)}.ui-interval__bounds{display: flex;gap: var(--space-sm);justify-content: space-between}@media (forced-colors: active){.ui-interval__track,.ui-interval__range,.ui-interval__point{border-color: CanvasText}.ui-interval__range,.ui-interval__point{background: CanvasText}}@media print{.ui-interval__range,.ui-interval__point{-webkit-print-color-adjust: exact;print-color-adjust: exact}}.ui-clamp{--clamp-lines: 4;display: grid;gap: var(--space-2xs);min-inline-size: 0;position: relative}.ui-clamp__body{-webkit-box-orient: vertical;-webkit-line-clamp: var(--clamp-lines);display: -webkit-box;line-clamp: var(--clamp-lines);mask-image: linear-gradient(to bottom,#000 72%,transparent 100%);overflow: hidden}.ui-clamp:has(> .ui-clamp__toggle:checked) .ui-clamp__body{-webkit-line-clamp: unset;display: block;line-clamp: none;mask-image: none}.ui-clamp__toggle{block-size: 1px;clip-path: inset(50%);inline-size: 1px;overflow: hidden;position: absolute;white-space: nowrap}.ui-clamp__control{color: var(--accent-text);cursor: pointer;font-family: var(--mono);font-size: var(--text-2xs);inline-size: max-content;letter-spacing: var(--tracking-wide);text-decoration: underline;text-decoration-color: color-mix(in srgb,var(--accent) 55%,transparent);text-underline-offset: 0.2rem;text-transform: uppercase}.ui-clamp__toggle:focus-visible + .ui-clamp__body + .ui-clamp__control{outline: 2px solid var(--focus-ring);outline-offset: 2px}.ui-clamp__less{display: none}.ui-clamp:has(> .ui-clamp__toggle:checked) .ui-clamp__more{display: none}.ui-clamp:has(> .ui-clamp__toggle:checked) .ui-clamp__less{display: inline}@media (hover: hover){.ui-clamp__control:hover{text-decoration-color: currentColor}}@media print{.ui-clamp__body{-webkit-line-clamp: unset;display: block;line-clamp: none;mask-image: none}.ui-clamp__toggle,.ui-clamp__control{display: none}}.ui-highlights{--highlight-evidence: var(--accent-soft);--highlight-search: var(--warning-soft);--highlight-current: color-mix(in srgb,var(--accent) 22%,transparent)}.ui-highlights::highlight(bronto-evidence){background-color: var(--highlight-evidence);color: inherit;text-decoration-color: var(--accent);text-decoration-line: underline;text-decoration-thickness: 0.1em;text-underline-offset: 0.18em}.ui-highlights::highlight(bronto-search){background-color: var(--highlight-search);color: inherit}.ui-highlights::highlight(bronto-current){background-color: var(--highlight-current);color: var(--text)}@media (forced-colors: active){.ui-highlights::highlight(bronto-evidence),.ui-highlights::highlight(bronto-search),.ui-highlights::highlight(bronto-current){background-color: Highlight;color: HighlightText;text-decoration-color: HighlightText}}@media print{.ui-highlights{-webkit-print-color-adjust: exact;print-color-adjust: exact}}.ui-diff{--diff-add-bg: color-mix(in srgb,var(--success) 14%,transparent);--diff-remove-bg: color-mix(in srgb,var(--danger) 14%,transparent);--diff-add-ink: var(--success);--diff-remove-ink: var(--danger);border: 1px solid var(--line);border-radius: var(--radius-sm);display: grid;font-family: var(--mono);font-size: var(--text-xs);grid-template-columns: auto auto minmax(0,1fr);line-height: 1.6;overflow: hidden}.ui-diff--split{grid-template-columns: 1fr 1fr}.ui-diff__pane{display: grid;grid-template-columns: auto minmax(0,1fr);min-inline-size: 0}.ui-diff--split > .ui-diff__pane + .ui-diff__pane{border-inline-start: 1px solid var(--line)}.ui-diff__hunk{display: contents}.ui-diff__row{display: contents}.ui-diff__head{background: var(--surface-2);color: var(--text-dim);grid-column: 1 / -1;padding: var(--space-2xs) var(--space-sm)}.ui-diff__ln{align-self: start;color: var(--text-dim);font-variant-numeric: tabular-nums;padding: 0 var(--space-sm);text-align: end;-webkit-user-select: none;user-select: none}.ui-diff__code{overflow-wrap: anywhere;padding: 0 var(--space-sm);white-space: pre-wrap}.ui-diff__code::before{color: var(--diff-tint,var(--text-dim));content: var(--diff-sign,'\00a0');display: inline-block;inline-size: 1ch;margin-inline-end: var(--space-2xs);-webkit-user-select: none;user-select: none}.ui-diff__row--add{--diff-sign: '+';--diff-tint: var(--diff-add-ink)}.ui-diff__row--remove{--diff-sign: '\2212';--diff-tint: var(--diff-remove-ink)}.ui-diff__row--context{--diff-sign: '\00a0'}.ui-diff__row--add > .ui-diff__ln,.ui-diff__row--add > .ui-diff__code{background: var(--diff-add-bg)}.ui-diff__row--remove > .ui-diff__ln,.ui-diff__row--remove > .ui-diff__code{background: var(--diff-remove-bg)}@media (forced-colors: active){.ui-diff__row--add > .ui-diff__code,.ui-diff__row--remove > .ui-diff__code{border-inline-start: 2px solid currentColor}}@media print{.ui-diff__head,.ui-diff__row--add > .ui-diff__ln,.ui-diff__row--add > .ui-diff__code,.ui-diff__row--remove > .ui-diff__ln,.ui-diff__row--remove > .ui-diff__code{-webkit-print-color-adjust: exact;print-color-adjust: exact}}.ui-code{border: 1px solid var(--line);border-radius: var(--radius-sm);font-family: var(--mono);font-size: var(--text-xs);overflow: hidden}.ui-code__head{background: var(--surface-2);border-block-end: 1px solid var(--line);color: var(--text-dim);display: flex;gap: var(--space-sm);justify-content: space-between;padding: var(--space-2xs) var(--space-sm)}.ui-code__body{counter-reset: ui-code-ln;margin: 0;overflow-wrap: anywhere;padding: var(--space-sm) 0;white-space: pre-wrap}.ui-code__line{display: block;padding-inline: var(--space-sm)}.ui-code--numbered .ui-code__line{padding-inline-start: 0}.ui-code--numbered .ui-code__line::before{color: var(--text-dim);content: counter(ui-code-ln);counter-increment: ui-code-ln;display: inline-block;inline-size: 3ch;margin-inline-end: var(--space-sm);text-align: end;-webkit-user-select: none;user-select: none}.ui-code__line--add{background: color-mix(in srgb,var(--success) 14%,transparent)}.ui-code__line--remove{background: color-mix(in srgb,var(--danger) 14%,transparent)}.ui-code__line--hl{background: color-mix(in srgb,var(--accent) 14%,transparent)}@media (forced-colors: active){.ui-code__line--add,.ui-code__line--remove,.ui-code__line--hl{border-inline-start: 3px solid currentColor}}@media print{.ui-code__head,.ui-code__line--add,.ui-code__line--remove,.ui-code__line--hl{-webkit-print-color-adjust: exact;print-color-adjust: exact}}.ui-spark{align-items: flex-end;block-size: 1em;display: inline-flex;gap: 1px;inline-size: max-content;vertical-align: -0.15em}.ui-spark__bar{background: currentColor;block-size: max(1px,calc(var(--v,0) * 100%));border-radius: 0.5px;flex: 0 0 0.25em;min-inline-size: 2px}.ui-spark__bar--accent{background: var(--accent)}.ui-spark__bar--pos{background: var(--success)}.ui-spark__bar--neg{background: var(--danger)}.ui-spark--dots .ui-spark__bar{--_dot: var(--spark-dot,0.16em);--_step: calc(var(--_dot) + var(--spark-dot-gap,0.06em));border-radius: 0;-webkit-mask: repeating-linear-gradient(to top,#000 0 var(--_dot),transparent var(--_dot) var(--_step));mask: repeating-linear-gradient(to top,#000 0 var(--_dot),transparent var(--_dot) var(--_step))}@media (forced-colors: active){.ui-spark__bar{background: CanvasText}}@media print{.ui-spark__bar{-webkit-print-color-adjust: exact;print-color-adjust: exact}}.ui-bullet{--band-lo: 0.5;--band-hi: 0.8;background: linear-gradient( to right,var(--surface-4) 0 calc(var(--band-lo) * 100%),var(--surface-3) calc(var(--band-lo) * 100%) calc(var(--band-hi) * 100%),var(--surface-2) calc(var(--band-hi) * 100%) 100% );block-size: 1.25rem;border-radius: var(--radius-sm);inline-size: 100%;position: relative}.ui-bullet__measure{background: var(--text);border-radius: var(--radius-sm);inline-size: max(2px,calc(var(--v,0) * 100%));inset-block: 30%;inset-inline-start: 0;position: absolute}.ui-bullet__measure--accent{background: var(--accent)}.ui-bullet__measure--pos{background: var(--success)}.ui-bullet__measure--neg{background: var(--danger)}.ui-bullet__target{background: var(--text);inline-size: 2px;inset-block: 8%;inset-inline-start: calc(var(--t,0) * 100%);position: absolute;transform: translateX(-50%)}.ui-bullet__label{color: var(--text-dim);display: flex;font-family: var(--mono);font-size: var(--text-2xs);gap: var(--space-sm);justify-content: space-between;letter-spacing: var(--tracking-wide);margin-block-start: 0.3rem}@media (forced-colors: active){.ui-bullet{border: 1px solid CanvasText}.ui-bullet__measure,.ui-bullet__target{background: CanvasText}}@media print{.ui-bullet{-webkit-print-color-adjust: exact;print-color-adjust: exact}}:root{--sidenote-width: 12rem;--sidenote-gap: 2rem}.ui-sidenote,.ui-marginnote{border-inline-start: 2px solid var(--line);color: var(--text-dim);display: block;font-size: var(--text-2xs);line-height: 1.5;margin-block: var(--space-2xs);padding-inline-start: var(--space-md)}.ui-sidenote__ref{color: var(--accent-text);counter-increment: ui-sidenote;font-size: 0.75em;vertical-align: super}.ui-sidenote__ref::after{content: counter(ui-sidenote)}.ui-sidenote::before{color: var(--accent-text);content: counter(ui-sidenote) '. '}@media (min-width: 60rem){.ui-sidenote,.ui-marginnote{border-inline-start: 0;clear: inline-end;float: inline-end;inline-size: var(--sidenote-width);margin-block: 0;margin-inline-end: calc(-1 * (var(--sidenote-width) + var(--sidenote-gap)));padding-inline-start: 0;text-align: start}}.ui-textref{--textref-highlight: var(--accent-soft);color: var(--accent-text);text-decoration: underline;text-decoration-style: dotted;text-underline-offset: 0.2em}.ui-textref::before{content: '\201F';margin-inline-end: 0.15em}@media (hover: hover){.ui-textref:hover{text-decoration-style: solid}}.ui-textref:focus-visible{outline: 2px solid var(--focus-ring);outline-offset: 2px}::target-text{background-color: var(--textref-highlight,var(--accent-soft));color: var(--text)}@media (forced-colors: active){::target-text{background-color: Highlight;color: HighlightText}}.ui-term{background: none;border: 0;color: inherit;cursor: help;font: inherit;padding: 0;text-decoration: underline;text-decoration-color: var(--line-strong);text-decoration-style: dotted;text-underline-offset: 0.2em}@media (hover: hover){.ui-term:hover{text-decoration-color: var(--accent)}}.ui-term:focus-visible{outline: 2px solid var(--focus-ring);outline-offset: 2px}.ui-def{background: var(--surface-raised);border: 1px solid var(--line);border-radius: var(--radius-md);box-shadow: var(--shadow-raised);color: var(--text);font-family: var(--sans);font-size: var(--text-sm);line-height: 1.5;margin: 0;max-inline-size: 22rem;padding: var(--space-sm) var(--space-md)}@supports (anchor-name: --x){.ui-def{inset: auto;margin-block-start: 0.4rem;position-area: block-end span-inline-end;position-try-fallbacks: flip-block,flip-inline}}.ui-glossary{border-block-start: 1px solid var(--line);display: grid;gap: var(--space-2xs) var(--space-md);grid-template-columns: minmax(6rem,max-content) 1fr;margin: 0;padding-block-start: var(--space-md)}.ui-glossary__term{color: var(--text);font-family: var(--mono);font-size: var(--text-xs);font-weight: 600;letter-spacing: var(--tracking-wide)}.ui-glossary__def{color: var(--text-dim);font-size: var(--text-sm);margin: 0}@media (max-width: 32rem){.ui-glossary{grid-template-columns: 1fr;gap: 0.15rem var(--space-md)}.ui-glossary__def{margin-block-end: var(--space-xs)}}.ui-toc{--toc-top: var(--space-md);align-self: start;font-family: var(--mono);font-size: var(--text-xs);inset-block-start: var(--toc-top);letter-spacing: var(--tracking-wide);position: sticky}.ui-toc__title{color: var(--text-dim);font-size: var(--text-2xs);margin-block-end: var(--space-xs);text-transform: uppercase}.ui-toc__list{display: grid;gap: 1px;list-style: none;margin: 0;padding: 0}.ui-toc__list .ui-toc__list{margin-inline-start: var(--space-sm)}.ui-toc__link{border-inline-start: 2px solid var(--line);color: var(--text-dim);display: block;padding: 0.3rem var(--space-sm);text-decoration: none;transition: color var(--duration-fast) var(--ease-standard)}.ui-toc__link[aria-current]:not([aria-current='false']){border-inline-start-color: var(--accent);color: var(--accent-text)}.ui-toc__link:focus-visible{outline: 2px solid var(--focus-ring);outline-offset: -2px}@media (hover: hover){.ui-toc__link:hover:not([aria-current]:not([aria-current='false'])){color: var(--text)}}@media (forced-colors: active){.ui-toc__link[aria-current]:not([aria-current='false']){border-inline-start-color: Highlight;color: Highlight}}@media (prefers-reduced-motion: reduce){.ui-toc__link{transition: none}}.ui-tree{color: var(--text);font-family: var(--mono);font-size: var(--text-sm);line-height: 1.5}.ui-tree__branch,.ui-tree__leaf{display: block}.ui-tree__branch .ui-tree__branch,.ui-tree__branch .ui-tree__leaf{border-inline-start: 1px solid var(--line);margin-inline-start: 0.5rem;padding-inline-start: var(--space-sm)}.ui-tree__summary{align-items: center;cursor: pointer;display: flex;gap: var(--space-2xs);list-style: none;padding-block: var(--space-2xs)}.ui-tree__summary::-webkit-details-marker{display: none}.ui-tree__summary::before{block-size: 0.4rem;border-block-end: 1.5px solid var(--text-dim);border-inline-end: 1.5px solid var(--text-dim);content: '';flex: 0 0 auto;inline-size: 0.4rem;transform: rotate(-45deg);transition: transform var(--duration-fast) var(--ease-spring)}.ui-tree__branch[open] > .ui-tree__summary::before{border-color: var(--accent);transform: rotate(45deg)}.ui-tree__branch[open] > .ui-tree__summary{color: var(--accent-text)}.ui-tree__leaf{align-items: center;display: flex;gap: var(--space-2xs);padding-block: var(--space-2xs)}.ui-tree__leaf::before{content: '';flex: 0 0 auto;inline-size: 0.4rem}.ui-tree__label{min-inline-size: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}@supports selector(::details-content){@media (prefers-reduced-motion: no-preference){.ui-tree{interpolate-size: allow-keywords}.ui-tree__branch::details-content{block-size: 0;overflow: hidden;transition: block-size var(--duration-base) var(--ease-out),content-visibility var(--duration-base) allow-discrete}.ui-tree__branch[open]::details-content{block-size: auto}}}@media (prefers-reduced-motion: reduce){.ui-tree__summary::before{transition: none}}@media (forced-colors: active){.ui-tree__branch[open] > .ui-tree__summary::before{border-color: Highlight}}}
|
|
1
|
+
@layer bronto{.ui-report{--report-width: 72rem;--report-padding-block: var(--space-2xl);--report-gap: var(--space-lg);--report-measure: 74ch;color: var(--text-soft);display: grid;gap: var(--report-gap);inline-size: min(100%,var(--report-width));margin-inline: auto;padding: var(--report-padding-block) var(--space-md)}.ui-report--compact{--report-gap: var(--space-md);--report-padding-block: var(--space-xl)}.ui-report--numbered{counter-reset: report-section}.ui-report > *,.ui-report__cover > *,.ui-report__head > *,.ui-report__toc > *,.ui-report__summary > *,.ui-report__decision > *,.ui-report__finding > *,.ui-report__evidence > *,.ui-report__section > *,.ui-report__figure > *,.ui-claim > *,.ui-evidence-grid > *,.ui-evidence-ledger > *,.ui-compare > *,.ui-compare__col > *{min-inline-size: 0}.ui-report__cover{align-content: end;border-block-end: 1px solid var(--line);display: grid;gap: var(--space-md);min-block-size: min(62vh,34rem);padding-block-end: var(--space-xl)}.ui-report__cover--compact{min-block-size: auto;padding-block: var(--space-xl) var(--space-lg)}.ui-report__head{align-items: end;border-block-end: 1px solid var(--line);display: flex;flex-wrap: wrap;gap: var(--space-md);justify-content: space-between;padding-block-end: var(--space-md)}.ui-report__title{color: var(--text);font-family: var(--display);font-size: calc(var(--text-xl) * 1.35);font-weight: var(--display-weight-strong);letter-spacing: 0;line-height: 1.05;margin: 0;max-inline-size: var(--report-measure);text-transform: uppercase;text-wrap: balance}.ui-report__subtitle{color: var(--text-dim);font-size: var(--text-lg);line-height: 1.5;margin: 0;max-inline-size: var(--report-measure)}.ui-report__meta{align-items: center;color: var(--text-dim);display: flex;flex-wrap: wrap;font-family: var(--mono);font-size: var(--text-2xs);gap: 0.55rem;letter-spacing: 0;list-style: none;margin: 0;padding: 0;text-transform: uppercase}.ui-report__meta > *{align-items: center;display: inline-flex;gap: 0.55rem}.ui-report__meta > :not(:last-child)::after{background: var(--line-strong);border-radius: 50%;block-size: 0.22rem;content: '';inline-size: 0.22rem}.ui-report__toc{border: 1px solid var(--line);border-radius: var(--radius-md);display: grid;gap: var(--space-xs);padding: var(--space-md)}.ui-report__toc ol,.ui-report__toc ul{display: grid;gap: 0.35rem;margin: 0;padding-inline-start: var(--space-md)}.ui-report__toc a{color: var(--text);text-decoration: underline;text-decoration-color: color-mix(in srgb,var(--accent) 45%,transparent);text-underline-offset: 0.2rem}.ui-report__summary,.ui-report__finding,.ui-report__evidence{background: var(--panel);border: 1px solid var(--line);border-radius: var(--radius-md);display: grid;gap: var(--space-sm);padding: var(--space-md)}.ui-report__summary{border-inline-start: 2px solid var(--accent)}.ui-report__decision{background: var(--panel);border: 1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-inline-start: 3px solid var(--accent);border-radius: var(--radius-md);display: grid;gap: var(--space-sm);padding: var(--space-md)}.ui-report__decision-kicker{color: var(--accent-text);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: var(--tracking-wide);margin: 0;text-transform: uppercase}.ui-report__decision-title{color: var(--text);font-family: var(--display);font-size: var(--text-lg);font-weight: var(--display-weight);letter-spacing: 0;line-height: 1.18;margin: 0;text-transform: uppercase;text-wrap: balance}.ui-report__decision-body{color: var(--text-soft);line-height: 1.6;margin: 0;max-inline-size: var(--report-measure)}.ui-report__decision-meta{color: var(--text-dim);display: flex;flex-wrap: wrap;font-family: var(--mono);font-size: var(--text-2xs);gap: 0.45rem 0.75rem;letter-spacing: 0}.ui-report__decision-grid{border-block-start: 1px solid var(--line);display: grid;gap: 0}.ui-report__decision-item{align-items: start;border-block-end: 1px solid var(--line);display: grid;gap: var(--space-xs);grid-template-columns: minmax(8rem,14rem) minmax(0,1fr);padding-block: var(--space-xs)}.ui-report__decision-label,.ui-report__decision-value{margin: 0}.ui-report__decision-label{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: var(--tracking-wide);text-transform: uppercase}.ui-report__decision-value{color: var(--text-soft);line-height: 1.5}.ui-report__finding{--report-finding-tone: var(--line-strong);border-inline-start: 2px solid var(--report-finding-tone)}.ui-report__finding--critical{--report-finding-tone: var(--danger)}.ui-report__finding--major{--report-finding-tone: var(--warning)}.ui-report__finding--minor{--report-finding-tone: var(--info)}.ui-report__finding--resolved{--report-finding-tone: var(--success)}.ui-report__finding-title,.ui-report__finding-claim,.ui-report__finding-impact,.ui-report__finding-remediation,.ui-report__finding-evidence,.ui-report__finding-caveat{margin: 0}.ui-report__finding-title{color: var(--text);font-size: var(--text-base);font-weight: 650;line-height: 1.25}.ui-report__finding-claim{color: var(--text);line-height: 1.6}.ui-report__finding-impact,.ui-report__finding-remediation,.ui-report__finding-evidence{color: var(--text-soft);line-height: 1.55}.ui-report__finding-caveat{color: var(--text-dim);font-size: var(--text-sm);line-height: 1.55}.ui-claim{--claim-tone: var(--accent);background: var(--panel-soft);border: 1px solid var(--line);border-inline-start: 2px solid var(--claim-tone);border-radius: var(--radius-md);display: grid;gap: var(--space-xs);padding: var(--space-sm)}.ui-claim--supported{--claim-tone: var(--success)}.ui-claim--partial{--claim-tone: var(--warning)}.ui-claim--disputed,.ui-claim--unsupported{--claim-tone: var(--danger)}.ui-claim--unknown{--claim-tone: var(--info)}.ui-claim__statement,.ui-claim__status,.ui-claim__scope,.ui-claim__basis,.ui-claim__limits,.ui-claim__refs,.ui-claim__caveat{margin: 0}.ui-claim__statement{color: var(--text);font-weight: 650;line-height: 1.45}.ui-claim__status,.ui-claim__scope,.ui-claim__refs{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: 0;text-transform: uppercase}.ui-claim__basis,.ui-claim__limits,.ui-claim__caveat{color: var(--text-soft);font-size: var(--text-sm);line-height: 1.55}.ui-report__evidence{background: var(--panel-soft)}.ui-report__evidence:has(> .ui-table-wrap:only-child){padding: 0}.ui-report__evidence:has(> .ui-table-wrap:only-child) > .ui-table-wrap{border: 0;border-radius: var(--radius-md)}.ui-report__section{display: grid;gap: var(--space-md);scroll-margin-block-start: 6rem}.ui-report__section + .ui-report__section{border-block-start: 1px solid var(--line);padding-block-start: var(--space-xl)}.ui-report__section-head{color: var(--text);font-family: var(--display);font-size: var(--text-xl);font-weight: var(--display-weight);letter-spacing: 0;line-height: 1.1;margin: 0;text-transform: uppercase;text-wrap: balance}.ui-report--numbered .ui-report__section-head::before{color: var(--accent-text);content: counter(report-section,decimal-leading-zero) ' / ';counter-increment: report-section}.ui-report--numbered .ui-report__section--unnumbered > .ui-report__section-head::before{content: none;counter-increment: none}.ui-report__figure{display: grid;gap: var(--space-sm);margin: 0}.ui-report__caption{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: 0;line-height: 1.5;text-transform: uppercase}.ui-evidence-grid{display: grid;gap: var(--space-sm);grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr))}.ui-evidence-item{background: var(--panel-soft);border: 1px solid var(--line);border-radius: var(--radius-md);display: grid;gap: 0.35rem;padding: var(--space-sm)}.ui-evidence-item__title{color: var(--text);font-size: var(--text-sm);font-weight: 600;margin: 0}.ui-evidence-item__meta{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: 0}.ui-evidence-item__body{color: var(--text-soft);font-size: var(--text-sm);line-height: 1.55;margin: 0}.ui-evidence-item__kind,.ui-evidence-item__method,.ui-evidence-item__window,.ui-evidence-item__value,.ui-evidence-item__source,.ui-evidence-item__caveat{margin: 0}.ui-evidence-item__kind,.ui-evidence-item__method,.ui-evidence-item__window,.ui-evidence-item__source{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: 0;text-transform: uppercase}.ui-evidence-item__value{color: var(--text);font-size: var(--text-base);font-weight: 650}.ui-evidence-item__caveat{color: var(--text-dim);font-size: var(--text-sm);line-height: 1.5}.ui-evidence-ledger{display: grid;gap: var(--space-sm)}.ui-report__actions{border-block-start: 1px solid var(--line);display: grid;gap: 0}.ui-report__action{align-items: start;border-block-end: 1px solid var(--line);display: grid;gap: var(--space-xs);grid-template-columns: minmax(0,1fr) auto;padding-block: var(--space-sm)}.ui-report__action > :not(.ui-report__action-status){grid-column: 1}.ui-report__action-status{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);grid-column: 2;grid-row: 1;letter-spacing: var(--tracking-wide);place-self: start end;text-transform: uppercase;white-space: nowrap}.ui-report__action-title,.ui-report__action-owner,.ui-report__action-due,.ui-report__action-priority,.ui-report__action-criteria,.ui-report__action-source{margin: 0}.ui-report__action-title{color: var(--text);font-weight: 650;line-height: 1.45}.ui-report__action-owner,.ui-report__action-due,.ui-report__action-priority,.ui-report__action-source{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: 0;text-transform: uppercase}.ui-report__action-criteria{color: var(--text-soft);font-size: var(--text-sm);line-height: 1.5}@media (max-width: 32rem){.ui-report__decision-item,.ui-report__action{grid-template-columns: 1fr}.ui-report__action-status{grid-column: 1;grid-row: auto;place-self: auto start}}.ui-report__sources,.ui-report__appendix,.ui-report__footnotes{border-block-start: 1px solid var(--line);color: var(--text-dim);display: grid;font-size: var(--text-sm);gap: var(--space-sm);padding-block-start: var(--space-md)}.ui-compare{display: grid;gap: var(--space-md);grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr))}.ui-compare--2up{grid-template-columns: repeat(2,minmax(0,1fr))}@media (max-width: 33rem){.ui-compare--2up{grid-template-columns: 1fr}}.ui-compare__col{align-content: start;display: grid;gap: var(--space-sm)}.ui-compare__head{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: var(--tracking-wide);text-transform: uppercase}.ui-meter__row{align-items: center;display: grid;gap: var(--space-2xs) var(--space-md);grid-template-columns: minmax(9rem,14rem) 1fr auto;margin-block: var(--space-2xs)}.ui-meter__row .ui-meter{min-inline-size: 8rem}.ui-meter__label{color: var(--text-soft)}.ui-meter__value{color: var(--text);font-family: var(--mono);font-variant-numeric: tabular-nums;text-align: end}@media (max-width: 32rem){.ui-meter__row{grid-template-columns: 1fr}.ui-meter__value{text-align: start}}.ui-print-only{display: none !important}.ui-print-exact{-webkit-print-color-adjust: exact;print-color-adjust: exact}@media print{@page{margin: 18mm}.ui-report{--report-padding-block: 0;color-scheme: light;--text: #111;--text-soft: #2a2a2a;--text-dim: #555;--panel: #fff;--panel-soft: #f7f7f7;--line: #d9d9d9;--line-strong: #b3b3b3;inline-size: auto;padding: 0}.ui-report__cover{min-block-size: auto}.ui-report,.ui-report__section,.ui-report__figure,.ui-report__actions,.ui-evidence-ledger{display: block}.ui-report > * + *{margin-block-start: var(--report-gap)}.ui-report__section > * + *{margin-block-start: var(--space-md)}.ui-report__figure > * + *,.ui-evidence-ledger > * + *{margin-block-start: var(--space-sm)}.ui-report__cover,.ui-report__head,.ui-report__decision,.ui-report__summary,.ui-report__finding,.ui-report__evidence,.ui-report__figure,.ui-report__toc,.ui-claim,.ui-evidence-item,.ui-report__action,.ui-stat,.ui-statgrid > *,tr{break-inside: avoid}.ui-report__section-head{break-after: avoid}.ui-print-only{display: var(--print-display,block) !important}.ui-screen-only{display: none !important}.ui-break-before{break-before: page}.ui-break-after{break-after: page}.ui-keep{break-inside: avoid}}:root{--chart-1: var(--accent);--chart-2: #e69f00;--chart-3: #56b4e9;--chart-4: #009e73;--chart-5: #f0e442;--chart-6: #0072b2;--chart-7: #cc79a7;--chart-8: #4d5358;--chart-seq-1: oklch(94% 0.03 25deg);--chart-seq-2: oklch(85% 0.07 25deg);--chart-seq-3: oklch(74% 0.12 25deg);--chart-seq-4: oklch(62% 0.16 25deg);--chart-seq-5: oklch(50% 0.16 25deg);--chart-seq-6: oklch(38% 0.13 25deg);--chart-div-1: oklch(45% 0.14 255deg);--chart-div-2: oklch(62% 0.1 250deg);--chart-div-3: oklch(82% 0.05 245deg);--chart-div-4: oklch(90% 0.01 250deg);--chart-div-5: oklch(80% 0.07 60deg);--chart-div-6: oklch(66% 0.13 55deg);--chart-div-7: oklch(56% 0.15 45deg);--chart-pattern-size: 8px;--chart-pattern-ink: rgb(0 0 0 / 0.34);--chart-pattern-1: none;--chart-pattern-2: radial-gradient(circle at 50% 50%,var(--chart-pattern-ink) 1.4px,transparent 1.6px);--chart-pattern-3: radial-gradient(circle at 0 0,var(--chart-pattern-ink) 1.4px,transparent 1.6px);--chart-pattern-4: radial-gradient(circle at 25% 25%,var(--chart-pattern-ink) 1.2px,transparent 1.4px),radial-gradient(circle at 75% 75%,var(--chart-pattern-ink) 1.2px,transparent 1.4px);--chart-pattern-5: radial-gradient(circle at 50% 25%,var(--chart-pattern-ink) 1.2px,transparent 1.4px),radial-gradient(circle at 50% 75%,var(--chart-pattern-ink) 1.2px,transparent 1.4px);--chart-pattern-6: radial-gradient(circle at 25% 50%,var(--chart-pattern-ink) 1.2px,transparent 1.4px),radial-gradient(circle at 75% 50%,var(--chart-pattern-ink) 1.2px,transparent 1.4px);--chart-pattern-7: radial-gradient(circle at 25% 25%,var(--chart-pattern-ink) 1px,transparent 1.2px),radial-gradient(circle at 75% 25%,var(--chart-pattern-ink) 1px,transparent 1.2px),radial-gradient(circle at 25% 75%,var(--chart-pattern-ink) 1px,transparent 1.2px),radial-gradient(circle at 75% 75%,var(--chart-pattern-ink) 1px,transparent 1.2px);--chart-pattern-8: radial-gradient(circle at 50% 50%,transparent 1.2px,var(--chart-pattern-ink) 1.4px,transparent 2.2px)}@media (prefers-color-scheme: dark){:root:not([data-theme='light']){--chart-1: var(--accent);--chart-2: #e69f00;--chart-3: #56b4e9;--chart-4: #009e73;--chart-5: #f0e442;--chart-6: #0072b2;--chart-7: #cc79a7;--chart-8: #4d5358;--chart-seq-1: oklch(30% 0.1 25deg);--chart-seq-2: oklch(42% 0.15 25deg);--chart-seq-3: oklch(55% 0.17 25deg);--chart-seq-4: oklch(68% 0.15 25deg);--chart-seq-5: oklch(80% 0.1 25deg);--chart-seq-6: oklch(90% 0.05 25deg);--chart-div-1: oklch(70% 0.13 250deg);--chart-div-2: oklch(60% 0.12 252deg);--chart-div-3: oklch(48% 0.08 255deg);--chart-div-4: oklch(40% 0.01 250deg);--chart-div-5: oklch(58% 0.1 60deg);--chart-div-6: oklch(72% 0.13 58deg);--chart-div-7: oklch(80% 0.12 55deg);--chart-pattern-ink: rgb(255 255 255 / 0.42)}}:root[data-theme='dark']{--chart-1: var(--accent);--chart-2: #e69f00;--chart-3: #56b4e9;--chart-4: #009e73;--chart-5: #f0e442;--chart-6: #0072b2;--chart-7: #cc79a7;--chart-8: #4d5358;--chart-seq-1: oklch(30% 0.1 25deg);--chart-seq-2: oklch(42% 0.15 25deg);--chart-seq-3: oklch(55% 0.17 25deg);--chart-seq-4: oklch(68% 0.15 25deg);--chart-seq-5: oklch(80% 0.1 25deg);--chart-seq-6: oklch(90% 0.05 25deg);--chart-div-1: oklch(70% 0.13 250deg);--chart-div-2: oklch(60% 0.12 252deg);--chart-div-3: oklch(48% 0.08 255deg);--chart-div-4: oklch(40% 0.01 250deg);--chart-div-5: oklch(58% 0.1 60deg);--chart-div-6: oklch(72% 0.13 58deg);--chart-div-7: oklch(80% 0.12 55deg);--chart-pattern-ink: rgb(255 255 255 / 0.42)}.ui-figure{display: grid;gap: var(--space-sm);margin: 0;min-inline-size: 0}.ui-figure > *,.ui-figure__body > *,.ui-figure__stage > *{min-inline-size: 0}.ui-figure__caption{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: 0;line-height: 1.5;text-transform: uppercase}.ui-figure__body{align-items: start;display: grid;gap: var(--space-sm)}.ui-figure__body--key-right{grid-template-columns: minmax(0,1fr) minmax(min(100%,10rem),var(--figure-key-width,14rem))}.ui-figure__stage{--figure-max-inline: 42rem;--figure-min-block: 0px;display: grid;inline-size: min(100%,var(--figure-max-inline));margin-inline: auto;min-block-size: var(--figure-min-block);place-items: center;position: relative}.ui-figure__media{display: block;inline-size: 100%;max-inline-size: 100%}.ui-figure__stage > :is(canvas,img,picture,svg):not(.ui-figure__overlay){display: block;max-inline-size: 100%}.ui-figure__overlay{block-size: 100%;inline-size: 100%;inset: 0;overflow: visible;pointer-events: none;position: absolute}.ui-figure__key,.ui-figure__data{display: grid;gap: var(--space-xs)}.ui-figure__data{margin-block-start: var(--space-xs)}@media (max-width: 44rem){.ui-figure__body--key-right{grid-template-columns: 1fr}}@media print{.ui-figure{break-inside: avoid}.ui-figure__body{display: block}.ui-figure__body > * + *{margin-block-start: var(--space-sm)}}.ui-annotation{--annotation-color: var(--accent);--annotation-line: var(--line-strong);--annotation-note-bg: var(--panel);--annotation-subject-fill: color-mix(in srgb,var(--annotation-color) 8%,transparent);--annotation-stroke-width: 1.5;color: var(--annotation-color);font-family: var(--mono);font-size: var(--text-xs);overflow: visible}.ui-annotation--muted{--annotation-color: var(--text-dim);--annotation-line: var(--line)}.ui-annotation--accent{--annotation-color: var(--accent);--annotation-line: var(--line-strong)}.ui-annotation--success{--annotation-color: var(--success)}.ui-annotation--warning{--annotation-color: var(--warning)}.ui-annotation--danger{--annotation-color: var(--danger)}.ui-annotation--info{--annotation-color: var(--info)}.ui-annotation__subject,.ui-annotation__connector,.ui-annotation__connector-end,.ui-annotation__note-line,.ui-annotation__badge{vector-effect: non-scaling-stroke}.ui-annotation__subject{fill: var(--annotation-subject-fill);stroke: var(--annotation-color);stroke-linejoin: miter;stroke-width: var(--annotation-stroke-width)}.ui-annotation__connector,.ui-annotation__note-line{fill: none;stroke: var(--annotation-line);stroke-linecap: square;stroke-linejoin: miter;stroke-opacity: 0.86;stroke-width: var(--annotation-stroke-width)}.ui-annotation__connector-end{fill: var(--annotation-line);stroke: none}.ui-annotation__note{color: var(--text-soft);fill: currentColor}.ui-annotation__note > rect{fill: var(--annotation-note-bg);stroke: var(--line);stroke-width: 1;vector-effect: non-scaling-stroke}.ui-annotation__title{fill: var(--text);font-size: var(--text-xs);font-weight: 700;letter-spacing: 0;paint-order: stroke fill;stroke: var(--annotation-note-bg);stroke-linejoin: round;stroke-width: 3;text-transform: uppercase}.ui-annotation__label{fill: var(--text-soft);font-size: var(--text-xs);letter-spacing: 0;paint-order: stroke fill;stroke: var(--annotation-note-bg);stroke-linejoin: round;stroke-width: 3}.ui-annotation__badge{fill: var(--annotation-note-bg);stroke: var(--annotation-color);stroke-width: var(--annotation-stroke-width)}.ui-annotation--label .ui-annotation__subject,.ui-annotation--badge .ui-annotation__connector,.ui-annotation--badge .ui-annotation__note-line{display: none}.ui-annotation--callout .ui-annotation__note-line,.ui-annotation--elbow .ui-annotation__note-line,.ui-annotation--curve .ui-annotation__note-line{stroke: var(--annotation-color)}.ui-annotation--elbow .ui-annotation__connector{stroke-linejoin: bevel}.ui-annotation--curve .ui-annotation__connector{stroke-linecap: round}.ui-annotation--circle .ui-annotation__subject{stroke-dasharray: 0.01 4;stroke-linecap: round}.ui-annotation--rect .ui-annotation__subject{stroke-dasharray: 5 3}.ui-annotation--threshold .ui-annotation__subject{fill: none;stroke: var(--annotation-color);stroke-dasharray: 6 4}.ui-annotation--badge .ui-annotation__subject{fill: var(--annotation-color)}.ui-annotation--badge .ui-annotation__badge{fill: var(--annotation-color)}.ui-annotation--badge .ui-annotation__title,.ui-annotation--badge .ui-annotation__label{fill: var(--button-text);stroke: none}.ui-annotation--bracket .ui-annotation__subject,.ui-annotation--compare .ui-annotation__subject,.ui-annotation--axis .ui-annotation__subject,.ui-annotation--timeline .ui-annotation__subject{fill: none;stroke: var(--annotation-color);stroke-linecap: square}.ui-annotation--band .ui-annotation__subject{fill: var(--annotation-subject-fill);stroke: var(--annotation-color);stroke-dasharray: 5 3}.ui-annotation--slope .ui-annotation__subject{fill: none;stroke: var(--annotation-color);stroke-linecap: round}.ui-annotation--cluster .ui-annotation__subject{fill: var(--annotation-subject-fill);stroke: var(--annotation-color);stroke-dasharray: 0.01 5;stroke-linecap: round}.ui-annotation--evidence .ui-annotation__badge{fill: var(--annotation-note-bg);stroke: var(--annotation-color)}.ui-annotation--evidence .ui-annotation__title{fill: var(--annotation-color);stroke: none}.ui-annotation--focus{--annotation-stroke-width: 2;--annotation-subject-fill: color-mix(in srgb,var(--annotation-color) 14%,transparent)}@media (prefers-reduced-motion: no-preference){.ui-annotation--draw .ui-annotation__connector,.ui-annotation--draw .ui-annotation__note-line{animation: uiAnnotationDraw var(--duration-slow,600ms) var(--ease-out,ease-out) both;animation-delay: var(--annotation-delay,0ms);stroke-dasharray: var(--annotation-dash,360);stroke-dashoffset: var(--annotation-dash,360)}.ui-annotation--draw .ui-annotation__subject,.ui-annotation--draw .ui-annotation__badge{animation: uiAnnotationSubjectReveal var(--duration-slow,600ms) var(--ease-out,ease-out) both;animation-delay: var(--annotation-delay,0ms)}.ui-annotation--reveal .ui-annotation__note{animation: uiAnnotationReveal var(--duration-slow,600ms) var(--ease-out,ease-out) both;animation-delay: var(--annotation-delay,0ms)}.ui-annotation--pulse .ui-annotation__subject,.ui-annotation--pulse .ui-annotation__badge{animation: uiAnnotationPulse 1.6s var(--ease-out,ease-out) infinite;animation-delay: var(--annotation-delay,0ms);transform-box: fill-box;transform-origin: center}}@keyframes uiAnnotationDraw{to{stroke-dashoffset: 0}}@keyframes uiAnnotationSubjectReveal{from{opacity: 0}to{opacity: 1}}@keyframes uiAnnotationReveal{from{opacity: 0}to{opacity: 1}}@keyframes uiAnnotationPulse{50%{opacity: 0.62;transform: scale(1.06)}}@media print{.ui-annotation__subject,.ui-annotation__connector,.ui-annotation__note,.ui-annotation__note-line,.ui-annotation__badge{animation: none !important;opacity: 1;stroke-dashoffset: 0}.ui-annotation__subject,.ui-annotation__connector,.ui-annotation__note-line,.ui-annotation__badge{transform: none}.ui-annotation--draw .ui-annotation__connector,.ui-annotation--draw .ui-annotation__note-line{stroke-dasharray: none;stroke-dashoffset: 0}}@media (forced-colors: active){.ui-annotation{--annotation-color: CanvasText;--annotation-line: CanvasText;--annotation-note-bg: Canvas;--annotation-subject-fill: Canvas}}.ui-legend{color: var(--text-soft);display: flex;flex-wrap: wrap;font-family: var(--mono);font-size: var(--text-xs);gap: var(--space-2xs) var(--space-md);list-style: none;margin: 0;padding: 0}.ui-legend--vertical{flex-direction: column}.ui-legend--compact{font-size: var(--text-2xs);gap: var(--space-2xs) var(--space-sm)}.ui-legend__title{color: var(--text-dim);font-size: var(--text-2xs);letter-spacing: 0;margin: 0;text-transform: uppercase}.ui-legend__item{align-items: center;color: inherit;display: inline-flex;gap: 0.45rem}.ui-legend__label{color: inherit}.ui-legend__value{color: var(--text-dim);font-variant-numeric: tabular-nums;margin-inline-start: auto}.ui-legend__caption{color: var(--text-dim);font-size: var(--text-2xs);letter-spacing: 0;text-transform: uppercase}.ui-legend__swatch{background: var(--chart-color,var(--chart-1,var(--accent)));background-image: var(--chart-pattern,none);background-size: var(--chart-pattern-size,8px);block-size: 0.8rem;border: 1px solid var(--line-strong);flex: 0 0 auto;inline-size: 0.8rem}.ui-legend__swatch--circle{border-radius: 50%}.ui-legend__swatch--line{block-size: 0.2rem;border: 0;inline-size: 1.1rem}.ui-legend__symbol{block-size: 0.95rem;color: var(--chart-color,var(--chart-1,var(--accent)));flex: 0 0 auto;inline-size: 0.95rem}.ui-legend__swatch--1{--chart-color: var(--chart-1)}.ui-legend__swatch--2{--chart-color: var(--chart-2)}.ui-legend__swatch--3{--chart-color: var(--chart-3)}.ui-legend__swatch--4{--chart-color: var(--chart-4)}.ui-legend__swatch--5{--chart-color: var(--chart-5)}.ui-legend__swatch--6{--chart-color: var(--chart-6)}.ui-legend__swatch--7{--chart-color: var(--chart-7)}.ui-legend__swatch--8{--chart-color: var(--chart-8)}.ui-legend--gradient{display: grid;gap: var(--space-2xs)}.ui-legend__track{background: linear-gradient( 90deg in oklch,var(--chart-seq-1),var(--chart-seq-2),var(--chart-seq-3),var(--chart-seq-4),var(--chart-seq-5),var(--chart-seq-6) );block-size: 0.7rem;border: 1px solid var(--line)}.ui-legend--diverging .ui-legend__track{background: linear-gradient( 90deg in oklch,var(--chart-div-1),var(--chart-div-2),var(--chart-div-3),var(--chart-div-4),var(--chart-div-5),var(--chart-div-6),var(--chart-div-7) )}.ui-legend__ticks{color: var(--text-dim);display: flex;font-size: var(--text-2xs);justify-content: space-between}.ui-legend__tick{font-variant-numeric: tabular-nums}.ui-legend--threshold{align-items: center;display: grid;gap: 0.35rem var(--space-sm);grid-template-columns: auto 1fr}.ui-legend--with-values{display: grid;gap: 0.35rem var(--space-md);grid-template-columns: auto 1fr auto}.ui-legend--with-values .ui-legend__item{display: grid;grid-column: 1 / -1;grid-template-columns: subgrid}.ui-legend--with-values .ui-legend__value{margin-inline-start: 0;text-align: end}.ui-legend--interactive .ui-legend__item:is(button,[role='button']){background: none;border: 0;border-radius: var(--radius-sm);color: inherit;cursor: pointer;font: inherit;padding-block: 0.15rem;padding-inline: 0.3rem;text-align: start}.ui-legend--interactive .ui-legend__item:is(button,[role='button']):focus-visible{outline: 2px solid var(--accent);outline-offset: 2px}.ui-legend__item.is-inactive,.ui-legend__item[aria-pressed='false']{opacity: 0.45}.ui-legend__item.is-inactive .ui-legend__label,.ui-legend__item[aria-pressed='false'] .ui-legend__label{text-decoration: line-through}@media (forced-colors: active){.ui-legend__swatch{border: 1px solid CanvasText;forced-color-adjust: none}.ui-legend__track{forced-color-adjust: none}.ui-legend__item.is-inactive,.ui-legend__item[aria-pressed='false']{opacity: 1}}@media print{.ui-legend__swatch,.ui-legend__track{-webkit-print-color-adjust: exact;print-color-adjust: exact}}.ui-mark{background-color: transparent;background-image: linear-gradient( 90deg,color-mix(in srgb,var(--mark-color,var(--line-strong)) 30%,transparent),color-mix(in srgb,var(--mark-color,var(--line-strong)) 30%,transparent) );background-repeat: no-repeat;background-size: 100% 100%;border-radius: 0.12em;box-decoration-break: clone;color: inherit;padding-block: 0.05em;padding-inline: 0.18em}.ui-mark--accent{--mark-color: var(--accent)}.ui-mark--success{--mark-color: var(--success)}.ui-mark--warning{--mark-color: var(--warning)}.ui-mark--danger{--mark-color: var(--danger)}.ui-mark--info{--mark-color: var(--info)}.ui-mark--muted{--mark-color: var(--text-dim)}.ui-mark--underline{background: none;padding: 0;text-decoration-color: var(--mark-color,var(--text-dim));text-decoration-line: underline;text-decoration-thickness: 0.12em;text-underline-offset: 0.18em}.ui-mark--box{background: none;border: 1px solid var(--mark-color,var(--line-strong));border-radius: var(--radius-sm)}.ui-mark--strike{background: none;padding: 0;text-decoration-color: var(--mark-color,var(--text-dim));text-decoration-line: line-through}@media (prefers-reduced-motion: no-preference){.ui-mark--draw:not(.ui-mark--underline,.ui-mark--box,.ui-mark--strike){animation: ui-mark-draw 0.6s var(--ease,ease) both}}@keyframes ui-mark-draw{from{background-size: 0% 100%}to{background-size: 100% 100%}}.ui-bracket-note{--mark-color: var(--line-strong);border-inline-start: 2px solid var(--mark-color);display: block;padding-inline-start: var(--space-md)}.ui-bracket-note__label{color: var(--mark-color);display: block;font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: 0;margin-block-end: var(--space-2xs);text-transform: uppercase}.ui-bracket-note--accent{--mark-color: var(--accent)}.ui-bracket-note--success{--mark-color: var(--success)}.ui-bracket-note--warning{--mark-color: var(--warning)}.ui-bracket-note--danger{--mark-color: var(--danger)}.ui-bracket-note--info{--mark-color: var(--info)}@media (forced-colors: active){.ui-mark:not(.ui-mark--underline,.ui-mark--box,.ui-mark--strike){text-decoration-line: underline}}@media print{.ui-mark{-webkit-print-color-adjust: exact;background-size: 100% 100%;print-color-adjust: exact}.ui-mark--draw{animation: none}}.ui-connector{--connector-color: var(--line-strong);color: var(--connector-color);inset: 0;overflow: visible;pointer-events: none;position: absolute}.ui-connector__path{fill: none;stroke: var(--connector-color);stroke-linecap: round;stroke-linejoin: round;stroke-width: var(--connector-width,1.5);vector-effect: non-scaling-stroke}.ui-connector__end{fill: var(--connector-color);stroke: none}.ui-connector--dashed .ui-connector__path{stroke-dasharray: 4 3}.ui-connector--accent{--connector-color: var(--accent)}.ui-connector--muted{--connector-color: var(--line)}.ui-connector--success{--connector-color: var(--success)}.ui-connector--warning{--connector-color: var(--warning)}.ui-connector--danger{--connector-color: var(--danger)}.ui-connector--info{--connector-color: var(--info)}@media (prefers-reduced-motion: no-preference){.ui-connector--draw .ui-connector__path{animation: ui-connector-draw 0.6s ease both;stroke-dasharray: 1}}@keyframes ui-connector-draw{from{stroke-dashoffset: 1}to{stroke-dashoffset: 0}}@media (forced-colors: active){.ui-connector__path{stroke: CanvasText}.ui-connector__end{fill: CanvasText}}@media print{.ui-connector__path,.ui-connector__end{-webkit-print-color-adjust: exact;print-color-adjust: exact}.ui-connector--draw .ui-connector__path{animation: none;stroke-dasharray: none;stroke-dashoffset: 0}}.ui-spotlight{--spot-x: 50%;--spot-y: 50%;--spot-w: 0px;--spot-h: 0px;--spot-pad: 8px;--spot-radius: var(--radius-md);--spot-backdrop: color-mix(in srgb,#000 55%,transparent);inset: 0;pointer-events: none;position: fixed;z-index: var(--z-overlay,1000)}.ui-spotlight__hole{background: transparent;block-size: calc(var(--spot-h) + var(--spot-pad) * 2);border-radius: var(--spot-radius);box-shadow: 0 0 0 100vmax var(--spot-backdrop);inline-size: calc(var(--spot-w) + var(--spot-pad) * 2);inset-block-start: 0;inset-inline-start: 0;position: absolute;transform: translate( calc(var(--spot-x) - var(--spot-pad)),calc(var(--spot-y) - var(--spot-pad)) );transition: transform 0.2s ease,inline-size 0.2s ease,block-size 0.2s ease}@media (prefers-reduced-motion: reduce){.ui-spotlight__hole{transition: none}}.ui-spotlight--ring .ui-spotlight__hole{outline: 2px solid var(--accent);outline-offset: 0}.ui-tour-note{background: var(--panel);border: 1px solid var(--line);border-radius: var(--radius-md);box-shadow: var(--shadow-raised);color: var(--text);display: grid;gap: var(--space-sm);max-inline-size: min(22rem,calc(100vw - 2rem));padding: var(--space-md);pointer-events: auto}.ui-tour-note__step{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: 0;text-transform: uppercase}.ui-tour-note__title{color: var(--text);font-size: var(--text-lg);font-weight: 600;margin: 0}.ui-tour-note__body{color: var(--text-soft);margin: 0}.ui-tour-note__actions{display: flex;gap: var(--space-sm);justify-content: flex-end}@media (forced-colors: active){.ui-spotlight__hole{outline: 2px solid CanvasText}}.ui-crosshair{--crosshair-x: 0;--crosshair-y: 0;--crosshair-color: var(--accent);--crosshair-readout-gap: 0.35rem;--crosshair-readout-x: var(--crosshair-readout-gap);--crosshair-readout-y: var(--crosshair-readout-gap);inset: 0;opacity: 0;pointer-events: none;position: absolute;transition: opacity 0.12s ease}.ui-crosshair.is-active{opacity: 1}.ui-crosshair[data-readout-inline='before']{--crosshair-readout-x: calc(-100% - var(--crosshair-readout-gap))}.ui-crosshair[data-readout-block='above']{--crosshair-readout-y: calc(-100% - var(--crosshair-readout-gap))}.ui-crosshair:dir(rtl){--crosshair-readout-x: calc(100% + var(--crosshair-readout-gap))}.ui-crosshair:dir(rtl)[data-readout-inline='before']{--crosshair-readout-x: calc(-1 * var(--crosshair-readout-gap))}@media (prefers-reduced-motion: reduce){.ui-crosshair{transition: none}}.ui-crosshair--muted{--crosshair-color: var(--line-strong)}.ui-crosshair__line{background: var(--crosshair-color);position: absolute}.ui-crosshair__line--x{inline-size: 1px;inset-block: 0;inset-inline-start: var(--crosshair-x)}.ui-crosshair__line--y{block-size: 1px;inset-block-start: var(--crosshair-y);inset-inline: 0}.ui-crosshair__badge{background: var(--crosshair-color);border-radius: var(--radius-sm);color: var(--button-text);font-family: var(--mono);font-size: var(--text-2xs);padding-block: 0.05rem;padding-inline: 0.3rem;position: absolute;white-space: nowrap}.ui-crosshair--muted .ui-crosshair__badge{background: var(--panel);border: 1px solid var(--line-strong);color: var(--text)}.ui-crosshair .ui-readout{background: var(--panel);border: 1px solid var(--line);border-radius: var(--radius-sm);box-shadow: var(--shadow-raised);color: var(--text);font-family: var(--mono);font-size: var(--text-xs);inset-block-start: var(--crosshair-y);inset-inline-start: var(--crosshair-x);max-inline-size: calc(100% - var(--crosshair-readout-gap) * 2);overflow: hidden;padding-block: 0.2rem;padding-inline: 0.4rem;pointer-events: none;position: absolute;text-overflow: ellipsis;transform: translate(var(--crosshair-readout-x),var(--crosshair-readout-y));white-space: nowrap}@media (forced-colors: active){.ui-crosshair__line{background: CanvasText}}.ui-sel{transition: opacity 0.12s ease,outline-color 0.12s ease}@media (prefers-reduced-motion: reduce){.ui-sel{transition: none}}.ui-sel--on{outline: 2px solid var(--accent);outline-offset: 1px}.ui-sel--off{opacity: 0.35}.ui-sel--maybe{outline: 1px dashed var(--accent);outline-offset: 1px}@media (forced-colors: active){.ui-sel--on{outline-color: Highlight}}.ui-citation,.ui-source-card,.ui-provenance{--src-tone: var(--text-dim)}.ui-src{--src-tone: var(--text-dim);align-items: center;background: var(--panel-soft);border: 1px solid color-mix(in srgb,var(--src-tone) 45%,var(--line));border-radius: var(--radius-pill);color: var(--text-soft);display: inline-flex;font-size: var(--text-2xs);gap: 0.35rem;padding: 0.08rem 0.55rem;vertical-align: baseline}.ui-src::before{background: var(--src-tone);border-radius: 50%;block-size: 0.45rem;content: '';flex: none;inline-size: 0.45rem;print-color-adjust: exact}.ui-src--verified{--src-tone: var(--success)}.ui-src--reviewed{--src-tone: var(--accent)}.ui-src--generated{--src-tone: var(--info)}.ui-src--unverified{--src-tone: var(--text-dim)}.ui-src--stale{--src-tone: var(--warning)}.ui-src--conflict{--src-tone: var(--danger)}.ui-citation{color: var(--accent-text);font-family: var(--mono);font-size: 0.72em;font-weight: 600;text-decoration: none;vertical-align: super}.ui-citation:hover{text-decoration: underline}.ui-citation--chip{align-items: center;background: var(--panel-soft);border: 1px solid var(--line);border-radius: var(--radius-pill);color: var(--text-soft);display: inline-flex;font-size: var(--text-2xs);gap: 0.35rem;padding: 0.08rem 0.55rem;vertical-align: baseline}.ui-citation--chip::before{background: var(--src-tone);border-radius: 50%;block-size: 0.45rem;content: '';inline-size: 0.45rem;print-color-adjust: exact}.ui-source-list{display: grid;gap: var(--space-sm);list-style: none;margin: 0;min-inline-size: 0;padding: 0}.ui-source-list__item{margin: 0;min-inline-size: 0}.ui-source-card{background: var(--panel-soft);border: 1px solid var(--line);border-inline-start: 2px solid var(--src-tone);border-radius: var(--radius-md);display: grid;gap: 0.3rem;min-inline-size: 0;padding: 0.75rem 0.9rem;print-color-adjust: exact}.ui-source-card:target,.ui-source-card.is-source-active{box-shadow: 0 0 0 3px color-mix(in srgb,var(--src-tone) 22%,transparent);outline: 2px solid var(--src-tone);outline-offset: 2px}.ui-source-card > *{min-inline-size: 0}.ui-source-card__title{color: var(--text);font-size: var(--text-sm);font-weight: 600;margin: 0;overflow-wrap: break-word}.ui-source-card__origin{color: var(--text-soft);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: var(--tracking-wide);overflow-wrap: anywhere}.ui-source-card__time{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);overflow-wrap: anywhere}.ui-source-card__excerpt{color: var(--text-soft);margin: 0;overflow-wrap: anywhere}.ui-source-card__actions{display: flex;flex-wrap: wrap;gap: 0.5rem;margin-block-start: 0.2rem}.ui-provenance{align-items: center;color: var(--text-dim);display: inline-flex;flex-wrap: wrap;font-family: var(--mono);font-size: var(--text-2xs);gap: 0.3rem 0.75rem;letter-spacing: var(--tracking-wide)}.ui-provenance__item{align-items: center;display: inline-flex;gap: 0.35rem}.ui-provenance__item::before{background: var(--src-tone);border-radius: 50%;block-size: 0.45rem;content: '';inline-size: 0.45rem;print-color-adjust: exact}@media (forced-colors: active){.ui-citation--chip::before,.ui-provenance__item::before,.ui-src::before{background: CanvasText}.ui-source-card{border-inline-start-color: CanvasText}}@media print{.ui-citation[href]::after{content: none !important}.ui-source-card,.ui-source-list__item{break-inside: avoid}}.ui-generated{background: color-mix(in srgb,var(--accent) 4%,transparent);border: 1px solid var(--line);border-inline-start: 2px solid var(--accent);border-radius: var(--radius-md);display: grid;gap: var(--space-xs);padding: 0.85rem 1rem;print-color-adjust: exact}.ui-generated__label{align-items: center;color: var(--text-dim);display: inline-flex;font-family: var(--mono);font-size: var(--text-2xs);gap: 0.4rem;letter-spacing: var(--tracking-wide);text-transform: uppercase}.ui-origin-label{align-items: center;border: 1px solid var(--line);border-radius: var(--radius-pill);color: var(--text-soft);display: inline-flex;font-family: var(--mono);font-size: var(--text-2xs);gap: 0.35rem;letter-spacing: var(--tracking-wide);padding: 0.08rem 0.55rem;text-transform: uppercase}.ui-origin-label--ai{border-color: var(--accent);color: var(--accent-text)}.ui-reasoning{color: var(--text-dim);font-size: var(--text-sm)}.ui-reasoning > summary{color: var(--text-soft);cursor: pointer;font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: var(--tracking-wide);text-transform: uppercase}.ui-reasoning__body{margin-block-start: var(--space-xs)}.ui-tool-log{display: grid;gap: var(--space-2xs)}.ui-tool-call{border: 1px solid var(--line);border-radius: var(--radius-sm);font-family: var(--mono);font-size: var(--text-2xs)}.ui-tool-call > summary{align-items: center;cursor: pointer;display: flex;gap: 0.5rem;padding: 0.4rem 0.6rem}.ui-tool-call__name{color: var(--text)}.ui-tool-call__status{color: var(--text-dim);margin-inline-start: auto}.ui-tool-call__body{border-block-start: 1px solid var(--line);color: var(--text-soft);margin: 0;overflow-x: auto;padding: 0.5rem 0.6rem;white-space: pre-wrap}@media (forced-colors: active){.ui-generated{border-inline-start-color: CanvasText}}.ui-state{--state-tone: var(--text-dim);align-items: center;display: inline-flex;font-size: var(--text-sm);gap: 0.4rem}.ui-state::before{background: var(--state-tone);border-radius: 50%;block-size: 0.5rem;content: '';flex: none;inline-size: 0.5rem;print-color-adjust: exact}.ui-state__label{color: var(--text)}.ui-state__detail{color: var(--text-dim);font-size: var(--text-2xs)}.ui-state--busy::before{animation: uiStatePulse 1.1s ease-in-out infinite}@keyframes uiStatePulse{50%{opacity: 0.3}}@media (prefers-reduced-motion: reduce){.ui-state--busy::before{animation: none}}.ui-state--saving{--state-tone: var(--accent)}.ui-state--saved{--state-tone: var(--success)}.ui-state--queued{--state-tone: var(--text-dim)}.ui-state--offline{--state-tone: var(--warning)}.ui-state--stale{--state-tone: var(--warning)}.ui-state--conflict{--state-tone: var(--danger)}.ui-state--error{--state-tone: var(--danger)}.ui-state--locked{--state-tone: var(--text-dim)}.ui-state--reviewed{--state-tone: var(--success)}.ui-state--needs-review{--state-tone: var(--warning)}.ui-syncbar{align-items: center;border-block-end: 1px solid var(--line);display: flex;flex-wrap: wrap;gap: var(--space-sm) var(--space-md);justify-content: space-between;padding-block: var(--space-xs)}.ui-job{--job-progress: 0%;--job-tone: var(--text-dim);background: var(--panel);border: 1px solid var(--line);border-inline-start: 2px solid var(--job-tone);border-radius: var(--radius-md);display: grid;gap: var(--space-sm);padding: var(--space-md)}.ui-job__head{align-items: start;display: flex;flex-wrap: wrap;gap: var(--space-xs) var(--space-md);justify-content: space-between}.ui-job__title{color: var(--text);font-family: var(--display);font-size: var(--text-sm);letter-spacing: var(--tracking-wide);margin: 0;text-transform: uppercase}.ui-job__meta{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: var(--tracking-wide);text-transform: uppercase}.ui-job__body{color: var(--text-soft);margin: 0}.ui-job__progress{background: var(--panel-soft);border: 1px solid var(--line);border-radius: var(--radius-pill);block-size: 0.5rem;overflow: hidden}.ui-job__bar{background: var(--job-tone);block-size: 100%;display: block;inline-size: clamp(0%,var(--job-progress),100%);min-inline-size: 1px;print-color-adjust: exact;transition: inline-size var(--duration-base) var(--ease-standard)}.ui-job__actions{align-items: center;display: flex;flex-wrap: wrap;gap: var(--space-xs)}.ui-job--compact{gap: var(--space-xs);padding: var(--space-sm)}.ui-job--queued{--job-tone: var(--text-dim)}.ui-job--running{--job-tone: var(--accent)}.ui-job--blocked{--job-tone: var(--warning)}.ui-job--failed{--job-tone: var(--danger)}.ui-job--complete{--job-tone: var(--success)}.ui-job--running .ui-job__bar{background-image: linear-gradient( 90deg,var(--job-tone),color-mix(in srgb,var(--job-tone) 62%,var(--panel)) )}@media (prefers-reduced-motion: reduce){.ui-job__bar{transition: none}}@media (forced-colors: active){.ui-state::before{background: CanvasText}.ui-job{border-inline-start-color: CanvasText}.ui-job__bar{background: CanvasText}}.ui-interval{--lo: 0;--hi: 1;display: grid;gap: 0.35rem;inline-size: 100%;min-inline-size: 0}.ui-interval__track{background: var(--surface-4);block-size: 0.7rem;border: 1px solid var(--line);border-radius: var(--radius-pill);min-inline-size: 8rem;position: relative}.ui-interval__range{background: color-mix(in srgb,var(--accent) 26%,transparent);border: 1px solid color-mix(in srgb,var(--accent) 58%,var(--line));border-radius: var(--radius-pill);inline-size: max(2px,calc((var(--hi) - var(--lo)) * 100%));inset-block: 18%;inset-inline-start: calc(var(--lo) * 100%);position: absolute}.ui-interval__point{background: var(--text);border: 2px solid var(--panel);border-radius: 50%;block-size: 0.72rem;box-shadow: 0 0 0 1px var(--line-strong);inline-size: 0.72rem;inset-block-start: 50%;inset-inline-start: calc(var(--v,var(--lo)) * 100%);position: absolute;transform: translate(-50%,-50%)}.ui-interval__label,.ui-interval__bounds{color: var(--text-dim);font-family: var(--mono);font-size: var(--text-2xs);letter-spacing: 0}.ui-interval__label{color: var(--text-soft)}.ui-interval__bounds{display: flex;gap: var(--space-sm);justify-content: space-between}@media (forced-colors: active){.ui-interval__track,.ui-interval__range,.ui-interval__point{border-color: CanvasText}.ui-interval__range,.ui-interval__point{background: CanvasText}}@media print{.ui-interval__range,.ui-interval__point{-webkit-print-color-adjust: exact;print-color-adjust: exact}}.ui-clamp{--clamp-lines: 4;display: grid;gap: var(--space-2xs);min-inline-size: 0;position: relative}.ui-clamp__body{-webkit-box-orient: vertical;-webkit-line-clamp: var(--clamp-lines);display: -webkit-box;line-clamp: var(--clamp-lines);mask-image: linear-gradient(to bottom,#000 72%,transparent 100%);overflow: hidden}.ui-clamp:has(> .ui-clamp__toggle:checked) .ui-clamp__body{-webkit-line-clamp: unset;display: block;line-clamp: none;mask-image: none}.ui-clamp__toggle{block-size: 1px;clip-path: inset(50%);inline-size: 1px;overflow: hidden;position: absolute;white-space: nowrap}.ui-clamp__control{color: var(--accent-text);cursor: pointer;font-family: var(--mono);font-size: var(--text-2xs);inline-size: max-content;letter-spacing: var(--tracking-wide);text-decoration: underline;text-decoration-color: color-mix(in srgb,var(--accent) 55%,transparent);text-underline-offset: 0.2rem;text-transform: uppercase}.ui-clamp__toggle:focus-visible + .ui-clamp__body + .ui-clamp__control{outline: 2px solid var(--focus-ring);outline-offset: 2px}.ui-clamp__less{display: none}.ui-clamp:has(> .ui-clamp__toggle:checked) .ui-clamp__more{display: none}.ui-clamp:has(> .ui-clamp__toggle:checked) .ui-clamp__less{display: inline}@media (hover: hover){.ui-clamp__control:hover{text-decoration-color: currentColor}}@media print{.ui-clamp__body{-webkit-line-clamp: unset;display: block;line-clamp: none;mask-image: none}.ui-clamp__toggle,.ui-clamp__control{display: none}}.ui-highlights{--highlight-evidence: var(--accent-soft);--highlight-search: var(--warning-soft);--highlight-current: color-mix(in srgb,var(--accent) 22%,transparent)}.ui-highlights::highlight(bronto-evidence){background-color: var(--highlight-evidence);color: inherit;text-decoration-color: var(--accent);text-decoration-line: underline;text-decoration-thickness: 0.1em;text-underline-offset: 0.18em}.ui-highlights::highlight(bronto-search){background-color: var(--highlight-search);color: inherit}.ui-highlights::highlight(bronto-current){background-color: var(--highlight-current);color: var(--text)}@media (forced-colors: active){.ui-highlights::highlight(bronto-evidence),.ui-highlights::highlight(bronto-search),.ui-highlights::highlight(bronto-current){background-color: Highlight;color: HighlightText;text-decoration-color: HighlightText}}@media print{.ui-highlights{-webkit-print-color-adjust: exact;print-color-adjust: exact}}.ui-diff{--diff-add-bg: color-mix(in srgb,var(--success) 14%,transparent);--diff-remove-bg: color-mix(in srgb,var(--danger) 14%,transparent);--diff-add-ink: var(--success);--diff-remove-ink: var(--danger);border: 1px solid var(--line);border-radius: var(--radius-sm);display: grid;font-family: var(--mono);font-size: var(--text-xs);grid-template-columns: auto auto minmax(0,1fr);line-height: 1.6;overflow: hidden}.ui-diff--split{grid-template-columns: 1fr 1fr}.ui-diff__pane{display: grid;grid-template-columns: auto minmax(0,1fr);min-inline-size: 0}.ui-diff--split > .ui-diff__pane + .ui-diff__pane{border-inline-start: 1px solid var(--line)}.ui-diff__hunk{display: contents}.ui-diff__row{display: contents}.ui-diff__head{background: var(--surface-2);color: var(--text-dim);grid-column: 1 / -1;padding: var(--space-2xs) var(--space-sm)}.ui-diff__ln{align-self: start;color: var(--text-dim);font-variant-numeric: tabular-nums;padding: 0 var(--space-sm);text-align: end;-webkit-user-select: none;user-select: none}.ui-diff__code{overflow-wrap: anywhere;padding: 0 var(--space-sm);white-space: pre-wrap}.ui-diff__code::before{color: var(--diff-tint,var(--text-dim));content: var(--diff-sign,'\00a0');display: inline-block;inline-size: 1ch;margin-inline-end: var(--space-2xs);-webkit-user-select: none;user-select: none}.ui-diff__row--add{--diff-sign: '+';--diff-tint: var(--diff-add-ink)}.ui-diff__row--remove{--diff-sign: '\2212';--diff-tint: var(--diff-remove-ink)}.ui-diff__row--context{--diff-sign: '\00a0'}.ui-diff__row--add > .ui-diff__ln,.ui-diff__row--add > .ui-diff__code{background: var(--diff-add-bg)}.ui-diff__row--remove > .ui-diff__ln,.ui-diff__row--remove > .ui-diff__code{background: var(--diff-remove-bg)}@media (forced-colors: active){.ui-diff__row--add > .ui-diff__code,.ui-diff__row--remove > .ui-diff__code{border-inline-start: 2px solid currentColor}}@media print{.ui-diff__head,.ui-diff__row--add > .ui-diff__ln,.ui-diff__row--add > .ui-diff__code,.ui-diff__row--remove > .ui-diff__ln,.ui-diff__row--remove > .ui-diff__code{-webkit-print-color-adjust: exact;print-color-adjust: exact}}.ui-code{border: 1px solid var(--line);border-radius: var(--radius-sm);font-family: var(--mono);font-size: var(--text-xs);overflow: hidden}.ui-code__head{background: var(--surface-2);border-block-end: 1px solid var(--line);color: var(--text-dim);display: flex;gap: var(--space-sm);justify-content: space-between;padding: var(--space-2xs) var(--space-sm)}.ui-code__body{counter-reset: ui-code-ln;margin: 0;overflow-wrap: anywhere;padding: var(--space-sm) 0;white-space: pre-wrap}.ui-code__line{display: block;padding-inline: var(--space-sm)}.ui-code--numbered .ui-code__line{padding-inline-start: 0}.ui-code--numbered .ui-code__line::before{color: var(--text-dim);content: counter(ui-code-ln);counter-increment: ui-code-ln;display: inline-block;inline-size: 3ch;margin-inline-end: var(--space-sm);text-align: end;-webkit-user-select: none;user-select: none}.ui-code__line--add{background: color-mix(in srgb,var(--success) 14%,transparent)}.ui-code__line--remove{background: color-mix(in srgb,var(--danger) 14%,transparent)}.ui-code__line--hl{background: color-mix(in srgb,var(--accent) 14%,transparent)}@media (forced-colors: active){.ui-code__line--add,.ui-code__line--remove,.ui-code__line--hl{border-inline-start: 3px solid currentColor}}@media print{.ui-code__head,.ui-code__line--add,.ui-code__line--remove,.ui-code__line--hl{-webkit-print-color-adjust: exact;print-color-adjust: exact}}.ui-spark{align-items: flex-end;block-size: 1em;display: inline-flex;gap: 1px;inline-size: max-content;vertical-align: -0.15em}.ui-spark__bar{background: currentColor;block-size: max(1px,calc(var(--v,0) * 100%));border-radius: 0.5px;flex: 0 0 0.25em;min-inline-size: 2px}.ui-spark__bar--accent{background: var(--accent)}.ui-spark__bar--pos{background: var(--success)}.ui-spark__bar--neg{background: var(--danger)}.ui-spark--dots .ui-spark__bar{--_dot: var(--spark-dot,0.16em);--_step: calc(var(--_dot) + var(--spark-dot-gap,0.06em));border-radius: 0;-webkit-mask: repeating-linear-gradient(to top,#000 0 var(--_dot),transparent var(--_dot) var(--_step));mask: repeating-linear-gradient(to top,#000 0 var(--_dot),transparent var(--_dot) var(--_step))}@media (forced-colors: active){.ui-spark__bar{background: CanvasText}}@media print{.ui-spark__bar{-webkit-print-color-adjust: exact;print-color-adjust: exact}}.ui-bullet{--band-lo: 0.5;--band-hi: 0.8;background: linear-gradient( to right,var(--surface-4) 0 calc(var(--band-lo) * 100%),var(--surface-3) calc(var(--band-lo) * 100%) calc(var(--band-hi) * 100%),var(--surface-2) calc(var(--band-hi) * 100%) 100% );block-size: 1.25rem;border-radius: var(--radius-sm);inline-size: 100%;position: relative}.ui-bullet__measure{background: var(--text);border-radius: var(--radius-sm);inline-size: max(2px,calc(var(--v,0) * 100%));inset-block: 30%;inset-inline-start: 0;position: absolute}.ui-bullet__measure--accent{background: var(--accent)}.ui-bullet__measure--pos{background: var(--success)}.ui-bullet__measure--neg{background: var(--danger)}.ui-bullet__target{background: var(--text);inline-size: 2px;inset-block: 8%;inset-inline-start: calc(var(--t,0) * 100%);position: absolute;transform: translateX(-50%)}.ui-bullet__label{color: var(--text-dim);display: flex;font-family: var(--mono);font-size: var(--text-2xs);gap: var(--space-sm);justify-content: space-between;letter-spacing: var(--tracking-wide);margin-block-start: 0.3rem}@media (forced-colors: active){.ui-bullet{border: 1px solid CanvasText}.ui-bullet__measure,.ui-bullet__target{background: CanvasText}}@media print{.ui-bullet{-webkit-print-color-adjust: exact;print-color-adjust: exact}}:root{--sidenote-width: 12rem;--sidenote-gap: 2rem}.ui-sidenote,.ui-marginnote{border-inline-start: 2px solid var(--line);color: var(--text-dim);display: block;font-size: var(--text-2xs);line-height: 1.5;margin-block: var(--space-2xs);padding-inline-start: var(--space-md)}.ui-sidenote__ref{color: var(--accent-text);counter-increment: ui-sidenote;font-size: 0.75em;vertical-align: super}.ui-sidenote__ref::after{content: counter(ui-sidenote)}.ui-sidenote::before{color: var(--accent-text);content: counter(ui-sidenote) '. '}@media (min-width: 60rem){.ui-sidenote,.ui-marginnote{border-inline-start: 0;clear: inline-end;float: inline-end;inline-size: var(--sidenote-width);margin-block: 0;margin-inline-end: calc(-1 * (var(--sidenote-width) + var(--sidenote-gap)));padding-inline-start: 0;text-align: start}}.ui-textref{--textref-highlight: var(--accent-soft);color: var(--accent-text);text-decoration: underline;text-decoration-style: dotted;text-underline-offset: 0.2em}.ui-textref::before{content: '\201F';margin-inline-end: 0.15em}@media (hover: hover){.ui-textref:hover{text-decoration-style: solid}}.ui-textref:focus-visible{outline: 2px solid var(--focus-ring);outline-offset: 2px}::target-text{background-color: var(--textref-highlight,var(--accent-soft));color: var(--text)}@media (forced-colors: active){::target-text{background-color: Highlight;color: HighlightText}}.ui-term{background: none;border: 0;color: inherit;cursor: help;font: inherit;padding: 0;text-decoration: underline;text-decoration-color: var(--line-strong);text-decoration-style: dotted;text-underline-offset: 0.2em}@media (hover: hover){.ui-term:hover{text-decoration-color: var(--accent)}}.ui-term:focus-visible{outline: 2px solid var(--focus-ring);outline-offset: 2px}.ui-def{background: var(--surface-raised);border: 1px solid var(--line);border-radius: var(--radius-md);box-shadow: var(--shadow-raised);color: var(--text);font-family: var(--sans);font-size: var(--text-sm);line-height: 1.5;margin: 0;max-inline-size: 22rem;padding: var(--space-sm) var(--space-md)}@supports (anchor-name: --x){.ui-def{inset: auto;margin-block-start: 0.4rem;position-area: block-end span-inline-end;position-try-fallbacks: flip-block,flip-inline}}.ui-glossary{border-block-start: 1px solid var(--line);display: grid;gap: var(--space-2xs) var(--space-md);grid-template-columns: minmax(6rem,max-content) 1fr;margin: 0;padding-block-start: var(--space-md)}.ui-glossary__term{color: var(--text);font-family: var(--mono);font-size: var(--text-xs);font-weight: 600;letter-spacing: var(--tracking-wide)}.ui-glossary__def{color: var(--text-dim);font-size: var(--text-sm);margin: 0}@media (max-width: 32rem){.ui-glossary{grid-template-columns: 1fr;gap: 0.15rem var(--space-md)}.ui-glossary__def{margin-block-end: var(--space-xs)}}.ui-toc{--toc-top: var(--space-md);align-self: start;font-family: var(--mono);font-size: var(--text-xs);inset-block-start: var(--toc-top);letter-spacing: var(--tracking-wide);position: sticky}.ui-toc__title{color: var(--text-dim);font-size: var(--text-2xs);margin-block-end: var(--space-xs);text-transform: uppercase}.ui-toc__list{display: grid;gap: 1px;list-style: none;margin: 0;padding: 0}.ui-toc__list .ui-toc__list{margin-inline-start: var(--space-sm)}.ui-toc__link{border-inline-start: 2px solid var(--line);color: var(--text-dim);display: block;padding: 0.3rem var(--space-sm);text-decoration: none;transition: color var(--duration-fast) var(--ease-standard)}.ui-toc__link[aria-current]:not([aria-current='false']){border-inline-start-color: var(--accent);color: var(--accent-text)}.ui-toc__link:focus-visible{outline: 2px solid var(--focus-ring);outline-offset: -2px}@media (hover: hover){.ui-toc__link:hover:not([aria-current]:not([aria-current='false'])){color: var(--text)}}@media (forced-colors: active){.ui-toc__link[aria-current]:not([aria-current='false']){border-inline-start-color: Highlight;color: Highlight}}@media (prefers-reduced-motion: reduce){.ui-toc__link{transition: none}}.ui-tree{color: var(--text);font-family: var(--mono);font-size: var(--text-sm);line-height: 1.5}.ui-tree__branch,.ui-tree__leaf{display: block}.ui-tree__branch .ui-tree__branch,.ui-tree__branch .ui-tree__leaf{border-inline-start: 1px solid var(--line);margin-inline-start: 0.5rem;padding-inline-start: var(--space-sm)}.ui-tree__summary{align-items: center;cursor: pointer;display: flex;gap: var(--space-2xs);list-style: none;padding-block: var(--space-2xs)}.ui-tree__summary::-webkit-details-marker{display: none}.ui-tree__summary::before{block-size: 0.4rem;border-block-end: 1.5px solid var(--text-dim);border-inline-end: 1.5px solid var(--text-dim);content: '';flex: 0 0 auto;inline-size: 0.4rem;transform: rotate(-45deg);transition: transform var(--duration-fast) var(--ease-spring)}.ui-tree__branch[open] > .ui-tree__summary::before{border-color: var(--accent);transform: rotate(45deg)}.ui-tree__branch[open] > .ui-tree__summary{color: var(--accent-text)}.ui-tree__leaf{align-items: center;display: flex;gap: var(--space-2xs);padding-block: var(--space-2xs)}.ui-tree__leaf::before{content: '';flex: 0 0 auto;inline-size: 0.4rem}.ui-tree__label{min-inline-size: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}@supports selector(::details-content){@media (prefers-reduced-motion: no-preference){.ui-tree{interpolate-size: allow-keywords}.ui-tree__branch::details-content{block-size: 0;overflow: hidden;transition: block-size var(--duration-base) var(--ease-out),content-visibility var(--duration-base) allow-discrete}.ui-tree__branch[open]::details-content{block-size: auto}}}@media (prefers-reduced-motion: reduce){.ui-tree__summary::before{transition: none}}@media (forced-colors: active){.ui-tree__branch[open] > .ui-tree__summary::before{border-color: Highlight}}}
|
package/dist/css/tokens.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer bronto{:root{--radius-xl: 4px;--radius-lg: 3px;--radius-md: 2px;--radius-sm: 1px;--radius-pill: 999px;--space-2xs: 0.25rem;--space-xs: 0.5rem;--space-sm: 0.75rem;--space-md: 1rem;--space-lg: 1.35rem;--space-xl: 1.75rem;--space-2xl: 2.5rem;--mono: 'JetBrains Mono','Fira Code','Cascadia Code','SF Mono',ui-monospace,monospace;--sans: 'Inter','SF Pro Text',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;--dot-font: 'Doto',var(--mono);--display: var(--dot-font);--display-weight: 700;--display-weight-strong: 800;--text-2xs: 0.68rem;--text-xs: 0.76rem;--text-sm: 0.86rem;--text-base: 0.95rem;--text-lg: 1.15rem;--text-xl: 1.45rem;--tracking-wide: 0.14em;--tracking-wider: 0.22em;--ease-standard: cubic-bezier(0.2,0.8,0.2,1);--ease-spring: cubic-bezier(0.16,1,0.3,1);--ease-out: cubic-bezier(0.33,1,0.68,1);--duration-fast: 130ms;--duration-base: 200ms;--duration-slow: 360ms;--dot-size: 2px;--dot-gap: 14px;--z-base: 0;--z-raised: 10;--z-sticky: 20;--z-overlay: 30;--z-popover: 50;--z-toast: 60;--accent-1: color-mix(in oklch,var(--accent) 8%,var(--accent-ramp-end));--accent-2: color-mix(in oklch,var(--accent) 16%,var(--accent-ramp-end));--accent-3: color-mix(in oklch,var(--accent) 32%,var(--accent-ramp-end));--accent-4: color-mix(in oklch,var(--accent) 60%,var(--accent-ramp-end));--accent-5: var(--accent);--accent-6: var(--accent-strong);--surface-1: var(--bg);--surface-2: var(--bg-elevated);--surface-3: var(--panel);--surface-4: var(--panel-soft);--surface-5: var(--line);--surface-6: var(--line-strong);--bronto-color-bg: var(--bg);--bronto-color-surface: var(--panel);--bronto-color-surface-raised: var(--panel-strong);--bronto-color-border: var(--line);--bronto-color-border-strong: var(--line-strong);--bronto-color-text: var(--text);--bronto-color-text-muted: var(--text-dim);--bronto-color-action: var(--accent);--bronto-color-on-action: var(--button-text);--bronto-color-focus: var(--focus-ring);--bronto-color-success: var(--success);--bronto-color-warning: var(--warning);--bronto-color-danger: var(--danger);--bronto-color-info: var(--info);--surface: var(--panel);--surface-raised: var(--panel-strong);--surface-muted: var(--panel-soft);--border: var(--line);--border-strong: var(--line-strong)}:root,:root[data-theme='light']{color-scheme: light;--bg: #f4f4f2;--bg-elevated: #fbfbfa;--bg-accent: color-mix(in srgb,var(--accent) 6%,transparent);--panel: #ffffff;--panel-strong: #ffffff;--panel-soft: #ececea;--line: #d8d8d4;--line-strong: #a8a8a2;--text: #0a0a0a;--text-soft: #353533;--text-dim: #686863;--accent: #d71921;--accent-ramp-end: #ffffff;--accent-strong: color-mix(in srgb,var(--accent) 83%,#000);--accent-text: var(--accent-strong);--on-accent: var(--button-text);--accent-soft: color-mix(in srgb,var(--accent) 10%,transparent);--success: #2f7d4f;--success-soft: rgb(47,125,79,0.12);--warning: #806414;--warning-soft: rgb(128,100,20,0.13);--danger: #c01622;--danger-soft: rgb(192,22,34,0.1);--info: #1f63c4;--info-soft: rgb(31,99,196,0.12);--code-bg: rgb(10,10,10,0.05);--button-text: #ffffff;--field-dot: rgb(10,10,10,0.16);--field-dot-hot: rgb(10,10,10,0.4);--field-dot-accent: color-mix(in srgb,var(--accent) 78%,transparent);--focus-ring: var(--accent);--shadow: none;--shadow-raised: 0 0 0 1px var(--line-strong)}@media (prefers-color-scheme: dark){:root:not([data-theme='light']){color-scheme: dark;--bg: #121212;--bg-elevated: #181818;--bg-accent: color-mix(in srgb,var(--accent) 8%,transparent);--panel: #1c1c1c;--panel-strong: #222222;--panel-soft: #242424;--line: #383838;--line-strong: #555555;--text: #e6e6e6;--text-soft: #c8c8c8;--text-dim: #a0a0a0;--accent: #ff3b41;--accent-ramp-end: #000000;--accent-strong: color-mix(in srgb,var(--accent) 80%,#fff);--accent-text: var(--accent-strong);--on-accent: var(--button-text);--accent-soft: color-mix(in srgb,var(--accent) 14%,transparent);--success: #4ec27e;--success-soft: rgb(78,194,126,0.14);--warning: #d8bd72;--warning-soft: rgb(216,189,114,0.14);--danger: #ff4d54;--danger-soft: rgb(255,77,84,0.15);--info: #6fb0e6;--info-soft: rgb(111,176,230,0.14);--code-bg: rgb(255,255,255,0.05);--button-text: #000000;--field-dot: rgb(242,242,242,0.14);--field-dot-hot: rgb(242,242,242,0.36);--field-dot-accent: color-mix(in srgb,var(--accent) 82%,transparent);--focus-ring: var(--accent);--shadow: none;--shadow-raised: 0 0 0 1px var(--line-strong)}}:root[data-theme='dark']{color-scheme: dark;--bg: #121212;--bg-elevated: #181818;--bg-accent: color-mix(in srgb,var(--accent) 8%,transparent);--panel: #1c1c1c;--panel-strong: #222222;--panel-soft: #242424;--line: #383838;--line-strong: #555555;--text: #e6e6e6;--text-soft: #c8c8c8;--text-dim: #a0a0a0;--accent: #ff3b41;--accent-ramp-end: #000000;--accent-strong: color-mix(in srgb,var(--accent) 80%,#fff);--accent-text: var(--accent-strong);--on-accent: var(--button-text);--accent-soft: color-mix(in srgb,var(--accent) 14%,transparent);--success: #4ec27e;--success-soft: rgb(78,194,126,0.14);--warning: #d8bd72;--warning-soft: rgb(216,189,114,0.14);--danger: #ff4d54;--danger-soft: rgb(255,77,84,0.15);--info: #6fb0e6;--info-soft: rgb(111,176,230,0.14);--code-bg: rgb(255,255,255,0.05);--button-text: #000000;--field-dot: rgb(242,242,242,0.14);--field-dot-hot: rgb(242,242,242,0.36);--field-dot-accent: color-mix(in srgb,var(--accent) 82%,transparent);--focus-ring: var(--accent);--shadow: none;--shadow-raised: 0 0 0 1px var(--line-strong)}[data-density='compact']{--space-2xs: 0.2rem;--space-xs: 0.4rem;--space-sm: 0.6rem;--space-md: 0.8rem;--space-lg: 1.05rem;--space-xl: 1.35rem;--space-2xl: 1.9rem}[data-density='comfortable']{--space-2xs: 0.3rem;--space-xs: 0.6rem;--space-sm: 0.95rem;--space-md: 1.25rem;--space-lg: 1.7rem;--space-xl: 2.2rem;--space-2xl: 3.1rem}[data-contrast='high']{--line: var(--line-strong);--text-dim: var(--text-soft);--focus-ring: var(--accent);--shadow-raised: 0 0 0 1px var(--text)}:root[data-contrast='high']{--line: var(--line-strong);--text-dim: var(--text-soft);--focus-ring: var(--accent);--shadow-raised: 0 0 0 1px var(--text)}@media (prefers-contrast: more){:root:root{--line: var(--line-strong);--text-dim: var(--text-soft);--focus-ring: var(--accent);--shadow-raised: 0 0 0 1px var(--text)}}:root[data-theme='dark'][data-surface='oled']{--bg: #000000;--bg-elevated: #0a0a0a;--panel: #101010;--panel-strong: #161616;--panel-soft: #1a1a1a}@media (prefers-color-scheme: dark){:root:not([data-theme='light'])[data-surface='oled']{--bg: #000000;--bg-elevated: #0a0a0a;--panel: #101010;--panel-strong: #161616;--panel-soft: #1a1a1a}}@media print{:root:root:root{color-scheme: light;--text: #111;--text-soft: #2a2a2a;--text-dim: #555;--bg: #fff;--bg-elevated: #fff;--panel: #fff;--panel-strong: #fff;--panel-soft: #f7f7f7;--line: #d9d9d9;--line-strong: #b3b3b3;--success: #2f7d4f;--danger: #c01622;--warning: #806414;--info: #1f63c4;--accent: #d71921}}}
|
|
1
|
+
@layer bronto{:root{--radius-xl: 4px;--radius-lg: 3px;--radius-md: 2px;--radius-sm: 1px;--radius-pill: 999px;--space-2xs: 0.25rem;--space-xs: 0.5rem;--space-sm: 0.75rem;--space-md: 1rem;--space-lg: 1.35rem;--space-xl: 1.75rem;--space-2xl: 2.5rem;--mono: 'JetBrains Mono','Fira Code','Cascadia Code','SF Mono',ui-monospace,monospace;--sans: 'Inter','SF Pro Text',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;--dot-font: 'Doto',var(--mono);--display: var(--dot-font);--display-weight: 700;--display-weight-strong: 800;--text-2xs: 0.68rem;--text-xs: 0.76rem;--text-sm: 0.86rem;--text-base: 0.95rem;--text-lg: 1.15rem;--text-xl: 1.45rem;--tracking-wide: 0.14em;--tracking-wider: 0.22em;--ease-standard: cubic-bezier(0.2,0.8,0.2,1);--ease-spring: cubic-bezier(0.16,1,0.3,1);--ease-out: cubic-bezier(0.33,1,0.68,1);--duration-fast: 130ms;--duration-base: 200ms;--duration-slow: 360ms;--dot-size: 2px;--dot-gap: 14px;--z-base: 0;--z-raised: 10;--z-sticky: 20;--z-overlay: 30;--z-popover: 50;--z-toast: 60;--accent-1: color-mix(in oklch,var(--accent) 8%,var(--accent-ramp-end));--accent-2: color-mix(in oklch,var(--accent) 16%,var(--accent-ramp-end));--accent-3: color-mix(in oklch,var(--accent) 32%,var(--accent-ramp-end));--accent-4: color-mix(in oklch,var(--accent) 60%,var(--accent-ramp-end));--accent-5: var(--accent);--accent-6: var(--accent-strong);--surface-1: var(--bg);--surface-2: var(--bg-elevated);--surface-3: var(--panel);--surface-4: var(--panel-soft);--surface-5: var(--line);--surface-6: var(--line-strong);--bronto-color-bg: var(--bg);--bronto-color-surface: var(--panel);--bronto-color-surface-raised: var(--panel-strong);--bronto-color-border: var(--line);--bronto-color-border-strong: var(--line-strong);--bronto-color-text: var(--text);--bronto-color-text-muted: var(--text-dim);--bronto-color-action: var(--accent);--bronto-color-on-action: var(--button-text);--bronto-color-focus: var(--focus-ring);--bronto-color-success: var(--success);--bronto-color-warning: var(--warning);--bronto-color-danger: var(--danger);--bronto-color-info: var(--info);--surface: var(--panel);--surface-raised: var(--panel-strong);--surface-muted: var(--panel-soft);--border: var(--line);--border-strong: var(--line-strong)}:root,:root[data-theme='light']{color-scheme: light;--bg: #f4f4f2;--bg-elevated: #fbfbfa;--bg-accent: color-mix(in srgb,var(--accent) 6%,transparent);--panel: #ffffff;--panel-strong: #ffffff;--panel-soft: #ececea;--line: #d8d8d4;--line-strong: #a8a8a2;--text: #0a0a0a;--text-soft: #353533;--text-dim: #686863;--accent: #d71921;--accent-ramp-end: #ffffff;--accent-strong: color-mix(in srgb,var(--accent) 83%,#000);--accent-text: var(--accent-strong);--on-accent: var(--button-text);--accent-soft: color-mix(in srgb,var(--accent) 10%,transparent);--success: #2f7d4f;--success-soft: rgb(47,125,79,0.12);--warning: #806414;--warning-soft: rgb(128,100,20,0.13);--danger: #c01622;--danger-soft: rgb(192,22,34,0.1);--info: #1f63c4;--info-soft: rgb(31,99,196,0.12);--code-bg: rgb(10,10,10,0.05);--button-text: #ffffff;--field-dot: rgb(10,10,10,0.16);--field-dot-hot: rgb(10,10,10,0.4);--field-dot-accent: color-mix(in srgb,var(--accent) 78%,transparent);--focus-ring: var(--accent);--shadow: none;--shadow-raised: 0 0 0 1px var(--line-strong)}@media (prefers-color-scheme: dark){:root:not([data-theme='light']){color-scheme: dark;--bg: #121212;--bg-elevated: #181818;--bg-accent: color-mix(in srgb,var(--accent) 8%,transparent);--panel: #1c1c1c;--panel-strong: #222222;--panel-soft: #242424;--line: #383838;--line-strong: #555555;--text: #e6e6e6;--text-soft: #c8c8c8;--text-dim: #a0a0a0;--accent: #ff3b41;--accent-ramp-end: #000000;--accent-strong: color-mix(in srgb,var(--accent) 80%,#fff);--accent-text: var(--accent-strong);--on-accent: var(--button-text);--accent-soft: color-mix(in srgb,var(--accent) 14%,transparent);--success: #4ec27e;--success-soft: rgb(78,194,126,0.14);--warning: #d8bd72;--warning-soft: rgb(216,189,114,0.14);--danger: #ff4d54;--danger-soft: rgb(255,77,84,0.15);--info: #6fb0e6;--info-soft: rgb(111,176,230,0.14);--code-bg: rgb(255,255,255,0.05);--button-text: #000000;--field-dot: rgb(242,242,242,0.14);--field-dot-hot: rgb(242,242,242,0.36);--field-dot-accent: color-mix(in srgb,var(--accent) 82%,transparent);--focus-ring: var(--accent);--shadow: none;--shadow-raised: 0 0 0 1px var(--line-strong)}}:root[data-theme='dark']{color-scheme: dark;--bg: #121212;--bg-elevated: #181818;--bg-accent: color-mix(in srgb,var(--accent) 8%,transparent);--panel: #1c1c1c;--panel-strong: #222222;--panel-soft: #242424;--line: #383838;--line-strong: #555555;--text: #e6e6e6;--text-soft: #c8c8c8;--text-dim: #a0a0a0;--accent: #ff3b41;--accent-ramp-end: #000000;--accent-strong: color-mix(in srgb,var(--accent) 80%,#fff);--accent-text: var(--accent-strong);--on-accent: var(--button-text);--accent-soft: color-mix(in srgb,var(--accent) 14%,transparent);--success: #4ec27e;--success-soft: rgb(78,194,126,0.14);--warning: #d8bd72;--warning-soft: rgb(216,189,114,0.14);--danger: #ff4d54;--danger-soft: rgb(255,77,84,0.15);--info: #6fb0e6;--info-soft: rgb(111,176,230,0.14);--code-bg: rgb(255,255,255,0.05);--button-text: #000000;--field-dot: rgb(242,242,242,0.14);--field-dot-hot: rgb(242,242,242,0.36);--field-dot-accent: color-mix(in srgb,var(--accent) 82%,transparent);--focus-ring: var(--accent);--shadow: none;--shadow-raised: 0 0 0 1px var(--line-strong)}[data-density='compact']{--space-2xs: 0.2rem;--space-xs: 0.4rem;--space-sm: 0.6rem;--space-md: 0.8rem;--space-lg: 1.05rem;--space-xl: 1.35rem;--space-2xl: 1.9rem}[data-density='comfortable']{--space-2xs: 0.3rem;--space-xs: 0.6rem;--space-sm: 0.95rem;--space-md: 1.25rem;--space-lg: 1.7rem;--space-xl: 2.2rem;--space-2xl: 3.1rem}[data-contrast='high']{--line: var(--line-strong);--text-dim: var(--text-soft);--focus-ring: var(--accent);--shadow-raised: 0 0 0 1px var(--text)}:root[data-contrast='high']{--line: var(--line-strong);--text-dim: var(--text-soft);--focus-ring: var(--accent);--shadow-raised: 0 0 0 1px var(--text)}@media (prefers-contrast: more){:root:root{--line: var(--line-strong);--text-dim: var(--text-soft);--focus-ring: var(--accent);--shadow-raised: 0 0 0 1px var(--text)}}:root[data-theme='dark'][data-surface='oled']{--bg: #000000;--bg-elevated: #0a0a0a;--panel: #101010;--panel-strong: #161616;--panel-soft: #1a1a1a}@media (prefers-color-scheme: dark){:root:not([data-theme='light'])[data-surface='oled']{--bg: #000000;--bg-elevated: #0a0a0a;--panel: #101010;--panel-strong: #161616;--panel-soft: #1a1a1a}}@media print{:root:root:root{color-scheme: light;--text: #111;--text-soft: #2a2a2a;--text-dim: #555;--bg: #fff;--bg-elevated: #fff;--panel: #fff;--panel-strong: #fff;--panel-soft: #f7f7f7;--line: #d9d9d9;--line-strong: #b3b3b3;--success: #2f7d4f;--success-soft: rgb(47,125,79,0.12);--danger: #c01622;--danger-soft: rgb(192,22,34,0.1);--warning: #806414;--warning-soft: rgb(128,100,20,0.13);--info: #1f63c4;--info-soft: rgb(31,99,196,0.12);--accent: #d71921;--bg-accent: color-mix(in srgb,var(--accent) 6%,transparent);--accent-ramp-end: #ffffff;--accent-strong: color-mix(in srgb,var(--accent) 83%,#000);--accent-text: var(--accent-strong);--accent-soft: color-mix(in srgb,var(--accent) 10%,transparent);--button-text: #ffffff;--on-accent: var(--button-text);--field-dot: rgb(17,17,17,0.16);--field-dot-hot: rgb(17,17,17,0.4);--field-dot-accent: color-mix(in srgb,var(--accent) 78%,transparent);--focus-ring: var(--accent);--code-bg: rgb(17,17,17,0.05)}}}
|
|
@@ -218,8 +218,9 @@ Hard acceptance criteria for every step below:
|
|
|
218
218
|
|
|
219
219
|
## Verification plan
|
|
220
220
|
|
|
221
|
-
- Existing `npm run check`,
|
|
222
|
-
|
|
221
|
+
- Existing `npm run check`, token/DTCG/resolved/dist/visual/a11y gates stay
|
|
222
|
+
green and **unchanged** for the default build. `npm run check` includes the
|
|
223
|
+
node:test unit and contract suite.
|
|
223
224
|
- New `check:color-policy` (raw color, status misuse, chart leakage, untiered
|
|
224
225
|
hue).
|
|
225
226
|
- Contrast matrices extended to: default light/dark, `prefers-contrast`,
|
package/docs/annotations.md
CHANGED
|
@@ -65,7 +65,7 @@ offset, matching d3-annotation's mental model.
|
|
|
65
65
|
transform="translate(180, 72)"
|
|
66
66
|
>
|
|
67
67
|
<path class="ui-annotation__subject" d="M0,-18A18,18 0 1 1 0,18A18,18 0 1 1 0,-18Z" />
|
|
68
|
-
<path class="ui-annotation__connector" d="
|
|
68
|
+
<path class="ui-annotation__connector" d="M19.855,-9.476L88,-42" />
|
|
69
69
|
<g class="ui-annotation__note" transform="translate(88, -42)">
|
|
70
70
|
<path class="ui-annotation__note-line" d="M0,0H76" />
|
|
71
71
|
<text class="ui-annotation__title" y="-8">Peak</text>
|
|
@@ -161,6 +161,17 @@ selections, DOM nodes, or frameworks.
|
|
|
161
161
|
| `connectorEndArrow({ x1, y1, x2, y2, size, spread })` | Arrow marker path. `x1,y1`→`x2,y2` sets the direction (the head sits at `x2,y2`); `spread` is the half-angle (default 0.32 ≈ a crisp 37° head). |
|
|
162
162
|
| `annotationParts(options)` | Convenience object with `transform`, `subject`, `connector`, and `note`. |
|
|
163
163
|
|
|
164
|
+
Static SVG authors can place connector end markers explicitly with
|
|
165
|
+
`.ui-annotation__connector-end`; it shares the annotation tone and non-scaling
|
|
166
|
+
stroke behavior with `.ui-annotation__connector`.
|
|
167
|
+
|
|
168
|
+
```html
|
|
169
|
+
<g class="ui-annotation ui-annotation--accent">
|
|
170
|
+
<path class="ui-annotation__connector" d="M0,0L60,-28" />
|
|
171
|
+
<path class="ui-annotation__connector-end" d="M60,-28L51,-31L54,-22Z" />
|
|
172
|
+
</g>
|
|
173
|
+
```
|
|
174
|
+
|
|
164
175
|
`declutterLabels` is a deliberately small, deterministic **1-D** declutter for
|
|
165
176
|
direct labels or axis ticks — sort, push overlaps apart by `size + gap`, slide
|
|
166
177
|
to fit under `max`. It is **not** a general 2-D collision solver: if more labels
|
package/docs/architecture.md
CHANGED
|
@@ -99,8 +99,8 @@ on top of the CSS, none of which require a framework commitment**:
|
|
|
99
99
|
the package root — Node/runtime JS imports of `.` are not supported. All JS
|
|
100
100
|
entrypoints are explicit subpaths (`/behaviors`, `/classes`, `/tokens`,
|
|
101
101
|
`/glyphs`, `/annotations`, `/connectors`, `/react`, `/solid`, `/qwik`,
|
|
102
|
-
`/skins`, `/charts`, `/mermaid`, `/d2`, `/vega`). This is
|
|
103
|
-
intentional contract.
|
|
102
|
+
`/svelte`, `/vue`, `/skins`, `/charts`, `/mermaid`, `/d2`, `/vega`). This is
|
|
103
|
+
a permanent, intentional contract.
|
|
104
104
|
|
|
105
105
|
## Repository layout
|
|
106
106
|
|
|
@@ -135,13 +135,20 @@ the result.
|
|
|
135
135
|
|
|
136
136
|
## Drift control
|
|
137
137
|
|
|
138
|
-
Every data mirror is backed by a check wired
|
|
139
|
-
on every push/PR and again by `release.yml`
|
|
140
|
-
gating" below), so a version that fails any
|
|
138
|
+
Every data mirror and public documentation contract is backed by a check wired
|
|
139
|
+
into `npm run check`, run by CI on every push/PR and again by `release.yml`
|
|
140
|
+
before publish (see "Release gating" below), so a version that fails any
|
|
141
|
+
invariant never reaches npm. Public authoring docs are treated as public surface
|
|
142
|
+
too: `check:doc-links` fails stale local paths/anchors across shipped docs,
|
|
143
|
+
GitHub-only docs, and the docs viewer route list, while shipped-doc links must
|
|
144
|
+
also point at files present in the npm tarball. `check:contract` verifies
|
|
145
|
+
documented named imports, `check:doc-recipes` fails copy-paste CDN recipes that
|
|
146
|
+
silently no-op, and `check:report` validates fenced HTML snippets before they
|
|
147
|
+
are copied into consumer reports.
|
|
141
148
|
|
|
142
149
|
| Invariant | Enforced by |
|
|
143
150
|
| ----------------------------------------------- | ------------------- |
|
|
144
|
-
| exports / import graph / `files` consistent
|
|
151
|
+
| exports / import graph / source CSS `layer(bronto)` imports / layered-vs-unlayered CSS target map / `files` consistent | `check-exports.mjs` |
|
|
145
152
|
| pure generated mirrors fresh — `tokens.css`/`index.json`, `dtcg.json`, `resolved.json`, `figma.variables.json`, `classes`/`tokens` `.d.ts`, `reference.md`, vscode data — each byte-equal to its generator (registry: `scripts/lib/artifacts.mjs`) | `check-fresh.mjs` |
|
|
146
153
|
| `classes` `cls` ⇄ `.ui-*` selectors | `check-classes.mjs` |
|
|
147
154
|
| `connectors`/`annotations`/`react`/`solid`/`qwik`/`svelte`/`vue`/`behaviors` `.d.ts` (+ maps) == fresh `tsc` emit of their JSDoc | `check-dts-emit.mjs` |
|
|
@@ -151,12 +158,24 @@ gating" below), so a version that fails any invariant never reaches npm.
|
|
|
151
158
|
| every shipped colorway accent meets its WCAG floor | `check-contrast.mjs` |
|
|
152
159
|
| `dataviz.css`/`charts.json`/`charts.d.ts` ⇄ `tokens/charts.js` · CVD-distinguishable · opt-in | `check-charts.mjs` |
|
|
153
160
|
| `shiki/nothing.json` valid + on rationed palette | `check-shiki.mjs` |
|
|
154
|
-
| `dist/*.css` == fresh build of `css/` + budget
|
|
161
|
+
| `dist/*.css` == fresh single-`@layer bronto` build of `css/` + budget | `check-dist.mjs` |
|
|
155
162
|
| published tarball == intended `files` only | `check-pack.mjs` |
|
|
163
|
+
| packed core JS/JSON public subpaths import without optional framework peers, packed JS named exports exactly match source modules, peer-backed adapters import after peers are linked, concrete CSS/doc/font subpaths resolve, and packed behavior initializers/toast no-op in a clean consumer with no DOM globals | `check-consumer-surface.mjs` |
|
|
164
|
+
| packed typed public subpaths compile through package exports in a clean TypeScript consumer | `check-consumer-types.mjs` |
|
|
165
|
+
| GitHub Actions workflow syntax and embedded shell snippets lint | `check:workflows` (`github-actionlint`) |
|
|
166
|
+
| every shipped CSS leaf is classified as foundation or has explicit docs/demo/e2e ownership | `check-component-matrix.mjs` |
|
|
167
|
+
| every public behavior export has explicit docs, unit-test, and browser-test ownership | `check-behavior-matrix.mjs` |
|
|
168
|
+
| every public helper export in `classes`/`annotations`/`connectors`/`glyphs` has explicit docs, unit-test, and type-test ownership | `check-helper-matrix.mjs` |
|
|
169
|
+
| every delegated behavior has React/Solid/Qwik hook, Svelte action, Vue directive, docs, example, unit, and type ownership | `check-binding-matrix.mjs` |
|
|
170
|
+
| `@playwright/test` version ⇄ pinned Playwright container image ⇄ visual workflows/docs/local runner | `check-playwright-container.mjs` |
|
|
171
|
+
| every shipped JSON schema is exported, documented, validates its public cookbook example, and rejects malformed sidecars | `check-schemas.mjs` |
|
|
156
172
|
| packed public text contains no private terms, local paths, or secret-looking assignments | `check-public-hygiene.mjs` |
|
|
157
173
|
| CSS custom-property references resolve or carry an explicit fallback/host boundary | `check-variables.mjs` |
|
|
158
174
|
| `MIGRATIONS.json` edges have structured rules and matching docs | `check-migrations.mjs` |
|
|
159
175
|
| example inventory ⇄ CI matrix ⇄ browser-smoke list ⇄ README rows ⇄ preview ports | `check-examples.mjs` |
|
|
176
|
+
| demo visual snapshot declarations ⇄ committed Chromium baseline inventory | `check-visual-baselines.mjs` |
|
|
177
|
+
| public authoring docs keep valid local paths/anchors; shipped-doc links resolve inside the tarball; docs viewer routes resolve | `check-doc-links.mjs` |
|
|
178
|
+
| report/docs snippets use valid `ui-*` classes and public authoring snippets keep intact local id/ARIA/behavior references | `check-report.mjs` |
|
|
160
179
|
| published `.d.ts` compile + reject typos | `tsc` (`check:types`) |
|
|
161
180
|
| CSS style/correctness | Stylelint |
|
|
162
181
|
| non-CSS source style | Prettier (`check:format`) |
|
|
@@ -172,6 +191,9 @@ payload contract, raised only intentionally with a CHANGELOG note.
|
|
|
172
191
|
if the generated literal `cls`/token types stopped rejecting typos —
|
|
173
192
|
so the *value* of the generated `.d.ts` is itself gated, not just their
|
|
174
193
|
freshness (`check-fresh`).
|
|
194
|
+
`check:consumer-types` then installs the packed tarball in a clean temp
|
|
195
|
+
project and compiles package-subpath imports, so `exports.types` and
|
|
196
|
+
internal declaration references are proven through consumer resolution.
|
|
175
197
|
|
|
176
198
|
## Release gating
|
|
177
199
|
|
|
@@ -180,16 +202,20 @@ freshness (`check-fresh`).
|
|
|
180
202
|
pointer:
|
|
181
203
|
|
|
182
204
|
- `validate` — read-only: verifies the tag commit is reachable from `main`,
|
|
183
|
-
then runs `npm run check
|
|
184
|
-
includes
|
|
205
|
+
then runs `npm run check` and the tag↔version match. `check`
|
|
206
|
+
includes the node:test unit and contract suite, plus `check:release`;
|
|
207
|
+
for a prerelease tag the base version's CHANGELOG
|
|
185
208
|
section need only exist (`## Unreleased — x.y.z` is fine) — only a stable
|
|
186
209
|
release must carry a dated heading.
|
|
187
210
|
- `e2e` — `needs: validate`: Playwright (visual + axe a11y, both themes,
|
|
188
|
-
cross-engine) in the pinned
|
|
189
|
-
cross-engine reproduction
|
|
211
|
+
demo structural integrity, both themes, cross-engine) in the pinned
|
|
212
|
+
`mcr.microsoft.com/playwright` container. Local cross-engine reproduction
|
|
213
|
+
without screenshot rasterisation is
|
|
190
214
|
`npm run test:e2e:nonpixel`; use `npm run test:e2e` or
|
|
191
215
|
`npm run test:e2e:chromium` only in the pinned container when the pixel
|
|
192
|
-
baseline gate itself is in scope.
|
|
216
|
+
baseline gate itself is in scope. With Docker running,
|
|
217
|
+
`npm run test:e2e:visual:container` is the local shortcut for the same
|
|
218
|
+
Chromium screenshot environment.
|
|
193
219
|
- `examples` — `needs: validate`: builds the downstream example
|
|
194
220
|
apps against the **packed tarball**, mirroring CI. Catches a broken
|
|
195
221
|
published surface (exports map / missing file / unresolved subpath)
|
|
@@ -262,7 +288,14 @@ explained, not surprising.
|
|
|
262
288
|
intended file count/payload.
|
|
263
289
|
- Build the packed examples matrix from the tarball, not a workspace link:
|
|
264
290
|
`npm run test:examples` covers vanilla, Astro, SvelteKit, Vue, React, Solid,
|
|
265
|
-
Qwik, Tailwind, and report-static, with browser smokes for runtime
|
|
291
|
+
Qwik, Tailwind, and report-static, with Chromium browser smokes for runtime
|
|
292
|
+
examples. For a deeper consumer pass, `npm run test:examples:cross-browser`
|
|
293
|
+
runs the same packed smokes in Chromium, Firefox, and WebKit; manual CI
|
|
294
|
+
dispatches pass the same cross-browser flag to the reusable examples workflow.
|
|
295
|
+
`npm run test:examples:visual` adds local-safe desktop + mobile
|
|
296
|
+
screenshot/layout health smokes for packed examples; it detects blank,
|
|
297
|
+
under-painted, or horizontally overflowing output but intentionally does not
|
|
298
|
+
author OS-sensitive committed PNG baselines.
|
|
266
299
|
- Confirm the GitHub Release body matches the curated changelog section.
|
|
267
300
|
- If a bad package is published, deprecate that exact version on npm, publish a
|
|
268
301
|
patched version, and link the deprecation note to the changelog/security
|
package/docs/command.md
CHANGED
|
@@ -84,7 +84,10 @@ document.querySelector('[data-bronto-command]').addEventListener('bronto:command
|
|
|
84
84
|
);
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
Framework
|
|
87
|
+
Framework adapters: `useCommand()` in `@ponchia/ui/react`, `/solid`, and
|
|
88
|
+
`/qwik`; the `command` / `useCommand` action in `@ponchia/ui/svelte`; and
|
|
89
|
+
`vCommand` (or the `v-bronto-command` directive from `brontoVue`) in
|
|
90
|
+
`@ponchia/ui/vue`.
|
|
88
91
|
|
|
89
92
|
## Accessibility
|
|
90
93
|
|
package/docs/connectors.md
CHANGED
|
@@ -41,6 +41,17 @@ import { initConnectors } from '@ponchia/ui/behaviors';
|
|
|
41
41
|
const stop = initConnectors(); // redraws on resize/scroll; returns a cleanup
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
+
For static SVG output, author the same parts directly: `.ui-connector__path`
|
|
45
|
+
holds the line path, and `.ui-connector__end` holds an optional arrowhead/dot
|
|
46
|
+
path from `arrowHead()` or `dotMark()`.
|
|
47
|
+
|
|
48
|
+
```html
|
|
49
|
+
<svg class="ui-connector ui-connector--accent" aria-hidden="true">
|
|
50
|
+
<path class="ui-connector__path" d="M20,10C48,10 72,50 100,50" />
|
|
51
|
+
<path class="ui-connector__end" d="M100,50L92,46L92,54Z" />
|
|
52
|
+
</svg>
|
|
53
|
+
```
|
|
54
|
+
|
|
44
55
|
A connector is decorative — mark it `aria-hidden="true"` and make sure the
|
|
45
56
|
relationship it depicts is also clear from the content/DOM order.
|
|
46
57
|
|
|
@@ -81,6 +92,11 @@ const head = arrowHead(to, angle); // place at the endpoint
|
|
|
81
92
|
- `endTangentAngle(from, to, shape)` — the angle the path *arrives* at `to`
|
|
82
93
|
(chord for `straight`, axis-aligned for `elbow`/`curve`); rotate an end marker
|
|
83
94
|
by this so it points along the path. `connectRects().angle` already uses it.
|
|
95
|
+
- Low-level scalar/SVG kernel helpers are exported for hosts that need the same
|
|
96
|
+
rounding and guard semantics as the path builders: `PRECISION`,
|
|
97
|
+
`roundNumber(value)`, `fmt(value)`, `point(x, y)`, `finite(name, value,
|
|
98
|
+
fallback)`, `dimension(name, value, fallback)`, `clamp(value, min, max)`, and
|
|
99
|
+
`rectPath(left, top, right, bottom)`.
|
|
84
100
|
|
|
85
101
|
## Coordinate model
|
|
86
102
|
|
package/docs/crosshair.md
CHANGED
|
@@ -48,7 +48,7 @@ document.querySelector('[data-bronto-crosshair]').addEventListener(
|
|
|
48
48
|
| `ui-crosshair` | The overlay. Hidden until `.is-active` (set on the first pointer move over the plot). |
|
|
49
49
|
| `ui-crosshair__line` + `--x` / `--y` | Vertical / horizontal rule, positioned by `--crosshair-x` / `--crosshair-y`. |
|
|
50
50
|
| `ui-crosshair__badge` | An axis value chip (you set its text + edge). |
|
|
51
|
-
| `ui-readout` | A pinned readout chip; follows the crosshair point. |
|
|
51
|
+
| `ui-readout` inside `.ui-crosshair` | A pinned readout chip; follows the crosshair point and flips before/above near plot edges via `data-readout-inline` / `data-readout-block`. Standalone `.ui-readout` remains the dot-matrix numeric row from `dots.css`. |
|
|
52
52
|
|
|
53
53
|
`ui-crosshair--muted` is a subtler neutral crosshair. `ui.crosshair({ muted })`
|
|
54
54
|
builds the class string. Include only the lines you need (just `--x` for a
|
package/docs/dots.md
CHANGED
|
@@ -62,7 +62,7 @@ container MUST carry a host-written `role="img"` + `aria-label` with the exact
|
|
|
62
62
|
value — rounding to whole cells is presentation-only, so keep the figure in the
|
|
63
63
|
label (WCAG 1.4.1).
|
|
64
64
|
|
|
65
|
-
### `.ui-
|
|
65
|
+
### `.ui-dotmatrix` cell grid
|
|
66
66
|
|
|
67
67
|
`.ui-dotmatrix` is the raw data-bound grid (the one the glyphs render on): a grid
|
|
68
68
|
of `.ui-dotmatrix__cell` (with `--hot` / `--accent` tones) plus the `--reveal` /
|
|
@@ -125,6 +125,9 @@ Knobs: `--v`, `--gauge-size`, `--gauge-sweep` (default 270deg), `--gauge-from`,
|
|
|
125
125
|
The row wrapper produced by `renderReadout` (see `docs/glyphs.md`) — a Nothing-style
|
|
126
126
|
hero numeric composed from digit glyphs. Tune character spacing with
|
|
127
127
|
`--readout-gap`; spaces render as a `.ui-readout__spacer` of width `--readout-space`.
|
|
128
|
+
Large multi-character readouts are intentionally intrinsic; on narrow report or
|
|
129
|
+
demo pages, either tune the glyph dot size or wrap the readout in a local
|
|
130
|
+
keyboard-focusable horizontal scroller so it does not widen the page.
|
|
128
131
|
|
|
129
132
|
### `.ui-spark--dots`
|
|
130
133
|
|