@umriss-ui/calculation 0.3.6 → 0.4.0

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 CHANGED
@@ -11,6 +11,52 @@ under a heading "Changed" of its own, no matter which digit rose.
11
11
 
12
12
  ---
13
13
 
14
+ ## 0.4.0 – Metrics side by side (Sep. 2026)
15
+
16
+ ### Added
17
+
18
+ - **Metrics: several numbers on every line, side by side** (ADR-0038).
19
+ `<Calculation metrics={[{ id, label, unit?, decimals? }, …]}>` names each
20
+ metric once; every `value` on a `Given` or a chain's line is then an object
21
+ with a number for each metric id - `value={{ heads: 31, fte: 27.5 }}`. The
22
+ derivation is the same for every metric, and each is worked on its own. The
23
+ type `Metric` (and `MetricValues`) is exported.
24
+ - A head above the figures names each metric with its unit; the unit stands
25
+ again only where a result closes - the Result, an interim, the line that
26
+ closes an open derivation.
27
+ - `null` for one metric makes absent only what depends on it in that metric;
28
+ the badge says which metric ("FTE is missing"), the sentence the full
29
+ reason.
30
+ - Where the figures leave the labels less room than they need, and less than
31
+ 10 rem, each line puts them on a line beneath its label, still in their
32
+ columns. Measured, not a breakpoint.
33
+ - Every line reads as one sentence: its formula in names once, then each
34
+ metric's number - "Logistics equals Warehouse plus Dispatch: Headcount
35
+ 58 HC; Full-time equivalents 45.7 FTE".
36
+ - Fails on the first render, with a message saying which and where: a
37
+ `value` that is not an object by metric, a metric's number left out or one
38
+ for no metric, `unit`, `format` or `decimals` on a quantity, `target` or
39
+ `limits`, `Product`, `Quotient`, `Times`, `DividedBy`, `metrics` empty or
40
+ with an id twice, and a `value` by metric where the calculation has none.
41
+ - **A demo page "Metrics"**, six examples from two teams to a whole company.
42
+
43
+ ### Changed
44
+
45
+ - **A calculation wider than its place scrolls instead of being cut off.** The
46
+ frame clipped what did not fit; it now scrolls sideways, still clipped to its
47
+ radius. A calculation that fits looks as before.
48
+ - **Narrow, a verdict or a reason beneath the label no longer widens the
49
+ statement past its frame**: a long badge is cut at the frame's edge instead of
50
+ pushing the numbers out of view.
51
+
52
+ ---
53
+
54
+ ## 0.3.7 – Core 0.16.0 (Sep. 2026)
55
+
56
+ Needs `@umriss-ui/core` 0.16; the peer range moves to `^0.16.0`. Nothing else changes for a caller.
57
+
58
+ ---
59
+
14
60
  ## 0.3.6 – Core 0.15.0 (Sep. 2026)
15
61
 
16
62
  Needs `@umriss-ui/core` 0.15; the peer range moves to `^0.15.0`. Nothing else changes for a caller.
package/README.md CHANGED
@@ -103,6 +103,31 @@ in a tree - there it folds, and opens whole.
103
103
  duplicate id, a component of your own wrapping `Given`. `.map` inside an
104
104
  operator works.
105
105
 
106
+ ## Several metrics side by side
107
+
108
+ Where one sheet answers in more than one unit - headcount and full-time
109
+ equivalents of the same teams - `metrics` puts a number per metric on every
110
+ line, each in its own column under a head (ADR-0038):
111
+
112
+ ```tsx
113
+ <Calculation
114
+ aria-label="Staff, 17 March"
115
+ metrics={[
116
+ { id: "heads", label: "Headcount", unit: "HC" },
117
+ { id: "fte", label: "Full-time equivalents", unit: "FTE", decimals: 1 },
118
+ ]}
119
+ >
120
+ <Sum label="Customer service">
121
+ <Given label="Service desk" value={{ heads: 7, fte: 5.9 }} />
122
+ <Given label="Returns" value={{ heads: 3, fte: 2.5 }} />
123
+ </Sum>
124
+ </Calculation>
125
+ ```
126
+
127
+ Each metric is worked on its own, and a calculation with metrics only adds and
128
+ subtracts. Unit and places belong to the metric; a missing number is `null`
129
+ and makes absent only its own metric.
130
+
106
131
  ## Documentation
107
132
 
108
133
  The demo is the documentation: `pnpm dev:calculation` in the repository, port
@@ -1 +1 @@
1
- @layer umriss.tokens,umriss.base,umriss.components;@layer umriss.base{._text_ocaqi_23{font-family:var(--u-font-sans);font-size:var(--u-text-md);line-height:var(--u-leading-normal);color:var(--u-color-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}@media(pointer:fine){._dense_ocaqi_39{--u-control-height-sm: var(--u-control-height-xs)}}._field_ocaqi_46{caret-color:var(--u-color-accent)}._scroll_ocaqi_52{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--u-color-text) 25%,transparent) transparent}._scroll_ocaqi_52::-webkit-scrollbar{width:10px;height:10px}._scroll_ocaqi_52::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--u-color-text) 22%,transparent);border-radius:var(--u-radius-full);border:3px solid transparent;background-clip:content-box}._scroll_ocaqi_52::-webkit-scrollbar-track{background:transparent}}@layer umriss.components{._ring_ocaqi_81:focus-visible{outline:2px solid transparent;box-shadow:var(--u-focus-ring)}@media(pointer:coarse){._field_ocaqi_46._field_ocaqi_46{font-size:16px}}._field_ocaqi_46:-webkit-autofill,._field_ocaqi_46:-webkit-autofill:hover,._field_ocaqi_46:-webkit-autofill:focus{-webkit-box-shadow:inset 0 0 0 1000px var(--u-color-surface),0 0 0 1px var(--u-edge-color-strong);-webkit-text-fill-color:var(--u-color-text);caret-color:var(--u-color-accent)}}@layer umriss.tokens,umriss.base,umriss.components;@layer umriss.components{._frame_1ydwt_21,._frame_1ydwt_21:before,._frame_1ydwt_21:after{box-sizing:border-box}._calculation_1ydwt_40,._calculation_1ydwt_40:before,._calculation_1ydwt_40:after{box-sizing:border-box}._disclosure_1ydwt_54,._disclosure_1ydwt_54:before,._disclosure_1ydwt_54:after{box-sizing:border-box}._list_1ydwt_58,._list_1ydwt_58:before,._list_1ydwt_58:after{box-sizing:border-box}._item_1ydwt_59,._item_1ydwt_59:before,._item_1ydwt_59:after{box-sizing:border-box}._derivation_1ydwt_60,._derivation_1ydwt_60:before,._derivation_1ydwt_60:after{box-sizing:border-box}._line_1ydwt_110,._line_1ydwt_110:before,._line_1ydwt_110:after{box-sizing:border-box}._labelCell_1ydwt_152,._labelCell_1ydwt_152:before,._labelCell_1ydwt_152:after{box-sizing:border-box}._names_1ydwt_153,._names_1ydwt_153:before,._names_1ydwt_153:after{box-sizing:border-box}._operator_1ydwt_154,._operator_1ydwt_154:before,._operator_1ydwt_154:after{box-sizing:border-box}._amount_1ydwt_155,._amount_1ydwt_155:before,._amount_1ydwt_155:after{box-sizing:border-box}._unit_1ydwt_156,._unit_1ydwt_156:before,._unit_1ydwt_156:after{box-sizing:border-box}._assessment_1ydwt_157,._assessment_1ydwt_157:before,._assessment_1ydwt_157:after{box-sizing:border-box}._label_1ydwt_152,._label_1ydwt_152:before,._label_1ydwt_152:after{box-sizing:border-box}._approximate_1ydwt_275,._approximate_1ydwt_275:before,._approximate_1ydwt_275:after{box-sizing:border-box}._target_1ydwt_303,._target_1ydwt_303:before,._target_1ydwt_303:after{box-sizing:border-box}._worst_1ydwt_304,._worst_1ydwt_304:before,._worst_1ydwt_304:after{box-sizing:border-box}._notes_1ydwt_396,._notes_1ydwt_396:before,._notes_1ydwt_396:after{box-sizing:border-box}._freshness_1ydwt_410,._freshness_1ydwt_410:before,._freshness_1ydwt_410:after{box-sizing:border-box}._frame_1ydwt_21{font-size:var(--u-text-sm);border-radius:var(--u-radius-md);corner-shape:squircle;background:var(--u-color-surface);outline:1px solid transparent;box-shadow:var(--u-edge);overflow:hidden;--disclosure-size: 20px;--disclosure-gap: var(--u-space-2);container-type:inline-size;width:100%}._calculation_1ydwt_40{display:grid;grid-template-columns:fit-content(22rem) minmax(0,1fr) auto auto auto auto;margin:0;padding:0;list-style:none}._frame_1ydwt_21[data-still]{--disclosure-size: 0px;--disclosure-gap: 0px}._frame_1ydwt_21[data-still] ._disclosure_1ydwt_54{display:none}._list_1ydwt_58,._item_1ydwt_59,._derivation_1ydwt_60{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;margin:0;padding:0;list-style:none}._derivation_1ydwt_60[hidden]{display:none}._derivation_1ydwt_60:not([hidden]){animation:_derivationIn_1ydwt_1 var(--u-duration-fast) var(--u-ease-out)}@keyframes _derivationIn_1ydwt_1{0%{opacity:0}}._item_1ydwt_59{--fall: calc(var(--u-space-3) + var(--depth, 0) * var(--u-space-5) + var(--disclosure-size) / 2 - 1px)}._derivation_1ydwt_60{position:relative}._derivation_1ydwt_60:before{content:"";position:absolute;top:0;bottom:0;left:var(--fall);z-index:1;width:2px;background:var(--u-color-accent);pointer-events:none}:not(._derivation_1ydwt_60)>._item_1ydwt_59[data-open]>._line_1ydwt_110:not([data-mark]),:not(._derivation_1ydwt_60)>._item_1ydwt_59>._derivation_1ydwt_60{background-color:var(--u-color-surface-sunken)}._derivation_1ydwt_60 ._line_1ydwt_110{border-top-color:transparent}._line_1ydwt_110{position:relative;display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:baseline;border-top:1px solid var(--u-hairline)}._calculation_1ydwt_40>._item_1ydwt_59:first-child>._line_1ydwt_110:first-child,._calculation_1ydwt_40>._item_1ydwt_59:first-child>._list_1ydwt_58>._item_1ydwt_59:first-child>._line_1ydwt_110{border-top-color:transparent}._line_1ydwt_110[data-foldable]{cursor:pointer}._line_1ydwt_110[data-mark]{background:color-mix(in srgb,var(--u-color-accent-subtle) 50%,transparent)}._line_1ydwt_110[data-mark=use]{background:var(--u-color-accent-subtle)}._labelCell_1ydwt_152,._names_1ydwt_153,._operator_1ydwt_154,._amount_1ydwt_155,._unit_1ydwt_156,._assessment_1ydwt_157{grid-row:1;padding-top:var(--u-space-2);padding-bottom:var(--u-space-2)}._labelCell_1ydwt_152{grid-column:1;display:flex;align-items:baseline;gap:var(--disclosure-gap);min-width:0;padding-left:calc(var(--u-space-3) + var(--depth, 0) * var(--u-space-5));padding-right:var(--u-space-5)}._label_1ydwt_152{min-width:0;color:var(--u-color-text)}._line_1ydwt_110[data-reference] ._label_1ydwt_152{font-style:italic;color:var(--u-color-text-secondary)}._disclosure_1ydwt_54{flex:none;align-self:center;display:inline-flex;align-items:center;justify-content:center;width:var(--disclosure-size);height:var(--disclosure-size);padding:0;border:none;border-radius:var(--u-radius-xs);corner-shape:squircle;background:none;color:var(--u-color-text-muted)}button._disclosure_1ydwt_54{box-sizing:border-box}button._disclosure_1ydwt_54{cursor:pointer}button._disclosure_1ydwt_54:hover,._line_1ydwt_110[data-foldable]:hover button._disclosure_1ydwt_54{box-sizing:border-box}button._disclosure_1ydwt_54:hover,._line_1ydwt_110[data-foldable]:hover button._disclosure_1ydwt_54{background:var(--u-color-surface-sunken);color:var(--u-color-text)}button._disclosure_1ydwt_54:active,._line_1ydwt_110[data-foldable]:active button._disclosure_1ydwt_54{box-sizing:border-box}button._disclosure_1ydwt_54:active,._line_1ydwt_110[data-foldable]:active button._disclosure_1ydwt_54{background:var(--u-color-surface-pressed)}._item_1ydwt_59[data-open]>._line_1ydwt_110 button._disclosure_1ydwt_54{box-sizing:border-box}._item_1ydwt_59[data-open]>._line_1ydwt_110 button._disclosure_1ydwt_54{color:var(--u-color-accent)}button._disclosure_1ydwt_54:focus-visible{box-sizing:border-box}button._disclosure_1ydwt_54:focus-visible{outline:2px solid transparent;box-shadow:var(--u-focus-ring)}._disclosure_1ydwt_54 svg{box-sizing:border-box}._disclosure_1ydwt_54 svg{transition:transform var(--u-transition-path)}._disclosure_1ydwt_54 svg[data-open]{box-sizing:border-box}._disclosure_1ydwt_54 svg[data-open]{transform:rotate(90deg)}._names_1ydwt_153{grid-column:2;min-width:0;overflow:hidden;padding-right:var(--u-space-4);white-space:nowrap;text-overflow:ellipsis;color:var(--u-color-text-secondary)}._operator_1ydwt_154,._amount_1ydwt_155,._unit_1ydwt_156{font-family:var(--u-font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;white-space:nowrap}._operator_1ydwt_154{grid-column:3;padding-right:var(--u-space-3);text-align:right;color:var(--u-color-text-secondary)}._amount_1ydwt_155{grid-column:4;text-align:right;color:var(--u-color-text)}._amount_1ydwt_155[data-verdict=unknown]{color:var(--u-color-text-secondary)}._approximate_1ydwt_275{display:inline-block;margin-right:var(--u-space-1);color:var(--u-color-text-secondary);cursor:help}._unit_1ydwt_156{grid-column:5;padding-left:var(--u-space-1);padding-right:var(--u-space-3);color:var(--u-color-text-secondary)}._assessment_1ydwt_157{grid-column:6;display:flex;align-items:baseline;justify-content:flex-end;gap:var(--u-space-2);padding-right:var(--u-space-3);white-space:nowrap}._assessment_1ydwt_157:empty{padding-right:0}._target_1ydwt_303,._worst_1ydwt_304{font-size:var(--u-text-xs);color:var(--u-color-text-secondary)}._worst_1ydwt_304:before{content:"● "}._worst_1ydwt_304[data-verdict=unknown]:before{color:var(--u-color-text-muted)}._worst_1ydwt_304[data-verdict=warning]:before{color:var(--u-color-warning)}._worst_1ydwt_304[data-verdict=alarm]:before{color:var(--u-color-danger-text)}._line_1ydwt_110[data-inner]>._amount_1ydwt_155{color:var(--u-color-text-secondary)}._line_1ydwt_110[data-kind=interim] ._label_1ydwt_152,._line_1ydwt_110[data-kind=interim]>._amount_1ydwt_155{font-weight:var(--u-weight-medium)}._line_1ydwt_110[data-kind=interim]:before{content:"";grid-row:1;grid-column:3 / 6;align-self:start;border-top:1px solid var(--u-color-text-secondary);pointer-events:none}._line_1ydwt_110[data-closing] ._label_1ydwt_152{font-weight:var(--u-weight-medium);color:var(--u-color-text-secondary)}._line_1ydwt_110[data-closing]:before{content:"";grid-row:1;grid-column:3 / 6;align-self:start;border-top:1px solid var(--u-color-text-muted);pointer-events:none}._line_1ydwt_110[data-kind=result]{border-top:1px solid var(--u-edge-color-strong)}._line_1ydwt_110[data-kind=result]:not([data-mark]){background:var(--u-color-surface-sunken)}._line_1ydwt_110[data-kind=result] ._label_1ydwt_152{font-weight:var(--u-weight-semibold)}._line_1ydwt_110[data-kind=result]>._amount_1ydwt_155{font-size:var(--u-text-md);font-weight:var(--u-weight-semibold)}._line_1ydwt_110[data-kind=result]>._amount_1ydwt_155:not([data-verdict=unknown]){text-decoration-line:underline;text-decoration-style:double;text-underline-offset:5px}._notes_1ydwt_396{grid-row:2;grid-column:1 / 3;display:flex;flex-wrap:wrap;align-items:center;column-gap:var(--u-space-3);margin-top:calc(-1 * var(--u-space-1));padding:0 var(--u-space-4) var(--u-space-2) calc(var(--u-space-3) + var(--depth, 0) * var(--u-space-5) + var(--disclosure-size) + var(--disclosure-gap));font-size:var(--u-text-xs);color:var(--u-color-text-secondary)}._freshness_1ydwt_410[data-freshness=stale]{color:var(--u-color-warning)}._freshness_1ydwt_410[data-freshness=lost]{color:var(--u-color-danger-text);font-weight:var(--u-weight-medium)}@container (max-width: 34rem){._calculation_1ydwt_40{grid-template-columns:minmax(0,1fr) 0 auto auto auto 0}._names_1ydwt_153{display:none}._labelCell_1ydwt_152{padding-right:var(--u-space-3)}._assessment_1ydwt_157:not(:empty){grid-area:2 / 1 / 3 / -1;justify-content:flex-start;flex-wrap:wrap;padding:0 var(--u-space-3) var(--u-space-2) calc(var(--u-space-3) + var(--depth, 0) * var(--u-space-5) + var(--disclosure-size) + var(--disclosure-gap));white-space:normal}._notes_1ydwt_396{grid-row:3;grid-column:1 / -1}}@media(prefers-reduced-motion:reduce){._disclosure_1ydwt_54 svg{transition:none}._derivation_1ydwt_60:not([hidden]){animation:none}}@media(forced-colors:active){._line_1ydwt_110[data-mark]{outline:1px solid Highlight;outline-offset:-1px}._line_1ydwt_110[data-mark=use]{outline-width:2px;outline-offset:-2px}._derivation_1ydwt_60:before{background:CanvasText}}}
1
+ @layer umriss.tokens,umriss.base,umriss.components;@layer umriss.base{._text_ocaqi_23{font-family:var(--u-font-sans);font-size:var(--u-text-md);line-height:var(--u-leading-normal);color:var(--u-color-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}@media(pointer:fine){._dense_ocaqi_39{--u-control-height-sm: var(--u-control-height-xs)}}._field_ocaqi_46{caret-color:var(--u-color-accent)}._scroll_ocaqi_52{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--u-color-text) 25%,transparent) transparent}._scroll_ocaqi_52::-webkit-scrollbar{width:10px;height:10px}._scroll_ocaqi_52::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--u-color-text) 22%,transparent);border-radius:var(--u-radius-full);border:3px solid transparent;background-clip:content-box}._scroll_ocaqi_52::-webkit-scrollbar-track{background:transparent}}@layer umriss.components{._ring_ocaqi_81:focus-visible{outline:2px solid transparent;box-shadow:var(--u-focus-ring)}@media(pointer:coarse){._field_ocaqi_46._field_ocaqi_46{font-size:16px}}._field_ocaqi_46:-webkit-autofill,._field_ocaqi_46:-webkit-autofill:hover,._field_ocaqi_46:-webkit-autofill:focus{-webkit-box-shadow:inset 0 0 0 1000px var(--u-color-surface),0 0 0 1px var(--u-edge-color-strong);-webkit-text-fill-color:var(--u-color-text);caret-color:var(--u-color-accent)}}@layer umriss.tokens,umriss.base,umriss.components;@layer umriss.components{._frame_c4ne1_24,._frame_c4ne1_24:before,._frame_c4ne1_24:after{box-sizing:border-box}._calculation_c4ne1_46,._calculation_c4ne1_46:before,._calculation_c4ne1_46:after{box-sizing:border-box}._disclosure_c4ne1_60,._disclosure_c4ne1_60:before,._disclosure_c4ne1_60:after{box-sizing:border-box}._list_c4ne1_64,._list_c4ne1_64:before,._list_c4ne1_64:after{box-sizing:border-box}._item_c4ne1_65,._item_c4ne1_65:before,._item_c4ne1_65:after{box-sizing:border-box}._derivation_c4ne1_66,._derivation_c4ne1_66:before,._derivation_c4ne1_66:after{box-sizing:border-box}._line_c4ne1_116,._line_c4ne1_116:before,._line_c4ne1_116:after{box-sizing:border-box}._labelCell_c4ne1_158,._labelCell_c4ne1_158:before,._labelCell_c4ne1_158:after{box-sizing:border-box}._names_c4ne1_159,._names_c4ne1_159:before,._names_c4ne1_159:after{box-sizing:border-box}._operator_c4ne1_160,._operator_c4ne1_160:before,._operator_c4ne1_160:after{box-sizing:border-box}._amount_c4ne1_161,._amount_c4ne1_161:before,._amount_c4ne1_161:after{box-sizing:border-box}._unit_c4ne1_162,._unit_c4ne1_162:before,._unit_c4ne1_162:after{box-sizing:border-box}._assessment_c4ne1_163,._assessment_c4ne1_163:before,._assessment_c4ne1_163:after{box-sizing:border-box}._label_c4ne1_158,._label_c4ne1_158:before,._label_c4ne1_158:after{box-sizing:border-box}._approximate_c4ne1_281,._approximate_c4ne1_281:before,._approximate_c4ne1_281:after{box-sizing:border-box}._target_c4ne1_309,._target_c4ne1_309:before,._target_c4ne1_309:after{box-sizing:border-box}._worst_c4ne1_310,._worst_c4ne1_310:before,._worst_c4ne1_310:after{box-sizing:border-box}._head_c4ne1_407,._head_c4ne1_407:before,._head_c4ne1_407:after{box-sizing:border-box}._headCell_c4ne1_414,._headCell_c4ne1_414:before,._headCell_c4ne1_414:after{box-sizing:border-box}._headUnit_c4ne1_427,._headUnit_c4ne1_427:before,._headUnit_c4ne1_427:after{box-sizing:border-box}._notes_c4ne1_434,._notes_c4ne1_434:before,._notes_c4ne1_434:after{box-sizing:border-box}._freshness_c4ne1_448,._freshness_c4ne1_448:before,._freshness_c4ne1_448:after{box-sizing:border-box}._headLabel_c4ne1_478,._headLabel_c4ne1_478:before,._headLabel_c4ne1_478:after{box-sizing:border-box}._frame_c4ne1_24{font-size:var(--u-text-sm);border-radius:var(--u-radius-md);corner-shape:squircle;background:var(--u-color-surface);outline:1px solid transparent;box-shadow:var(--u-edge);overflow-x:auto;overflow-y:hidden;--disclosure-size: 20px;--disclosure-gap: var(--u-space-2);container-type:inline-size;width:100%}._calculation_c4ne1_46{display:grid;grid-template-columns:fit-content(22rem) minmax(0,1fr) auto var(--figure-tracks, auto auto) auto;margin:0;padding:0;list-style:none}._frame_c4ne1_24[data-still]{--disclosure-size: 0px;--disclosure-gap: 0px}._frame_c4ne1_24[data-still] ._disclosure_c4ne1_60{display:none}._list_c4ne1_64,._item_c4ne1_65,._derivation_c4ne1_66{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;margin:0;padding:0;list-style:none}._derivation_c4ne1_66[hidden]{display:none}._derivation_c4ne1_66:not([hidden]){animation:_derivationIn_c4ne1_1 var(--u-duration-fast) var(--u-ease-out)}@keyframes _derivationIn_c4ne1_1{0%{opacity:0}}._item_c4ne1_65{--fall: calc(var(--u-space-3) + var(--depth, 0) * var(--u-space-5) + var(--disclosure-size) / 2 - 1px)}._derivation_c4ne1_66{position:relative}._derivation_c4ne1_66:before{content:"";position:absolute;top:0;bottom:0;left:var(--fall);z-index:1;width:2px;background:var(--u-color-accent);pointer-events:none}:not(._derivation_c4ne1_66)>._item_c4ne1_65[data-open]>._line_c4ne1_116:not([data-mark]),:not(._derivation_c4ne1_66)>._item_c4ne1_65>._derivation_c4ne1_66{background-color:var(--u-color-surface-sunken)}._derivation_c4ne1_66 ._line_c4ne1_116{border-top-color:transparent}._line_c4ne1_116{position:relative;display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:baseline;border-top:1px solid var(--u-hairline)}._calculation_c4ne1_46>._item_c4ne1_65:first-child>._line_c4ne1_116:first-child,._calculation_c4ne1_46>._item_c4ne1_65:first-child>._list_c4ne1_64>._item_c4ne1_65:first-child>._line_c4ne1_116{border-top-color:transparent}._line_c4ne1_116[data-foldable]{cursor:pointer}._line_c4ne1_116[data-mark]{background:color-mix(in srgb,var(--u-color-accent-subtle) 50%,transparent)}._line_c4ne1_116[data-mark=use]{background:var(--u-color-accent-subtle)}._labelCell_c4ne1_158,._names_c4ne1_159,._operator_c4ne1_160,._amount_c4ne1_161,._unit_c4ne1_162,._assessment_c4ne1_163{grid-row:1;padding-top:var(--u-space-2);padding-bottom:var(--u-space-2)}._labelCell_c4ne1_158{grid-column:1;display:flex;align-items:baseline;gap:var(--disclosure-gap);min-width:0;padding-left:calc(var(--u-space-3) + var(--depth, 0) * var(--u-space-5));padding-right:var(--u-space-5)}._label_c4ne1_158{min-width:0;color:var(--u-color-text)}._line_c4ne1_116[data-reference] ._label_c4ne1_158{font-style:italic;color:var(--u-color-text-secondary)}._disclosure_c4ne1_60{flex:none;align-self:center;display:inline-flex;align-items:center;justify-content:center;width:var(--disclosure-size);height:var(--disclosure-size);padding:0;border:none;border-radius:var(--u-radius-xs);corner-shape:squircle;background:none;color:var(--u-color-text-muted)}button._disclosure_c4ne1_60{box-sizing:border-box}button._disclosure_c4ne1_60{cursor:pointer}button._disclosure_c4ne1_60:hover,._line_c4ne1_116[data-foldable]:hover button._disclosure_c4ne1_60{box-sizing:border-box}button._disclosure_c4ne1_60:hover,._line_c4ne1_116[data-foldable]:hover button._disclosure_c4ne1_60{background:var(--u-color-surface-sunken);color:var(--u-color-text)}button._disclosure_c4ne1_60:active,._line_c4ne1_116[data-foldable]:active button._disclosure_c4ne1_60{box-sizing:border-box}button._disclosure_c4ne1_60:active,._line_c4ne1_116[data-foldable]:active button._disclosure_c4ne1_60{background:var(--u-color-surface-pressed)}._item_c4ne1_65[data-open]>._line_c4ne1_116 button._disclosure_c4ne1_60{box-sizing:border-box}._item_c4ne1_65[data-open]>._line_c4ne1_116 button._disclosure_c4ne1_60{color:var(--u-color-accent)}button._disclosure_c4ne1_60:focus-visible{box-sizing:border-box}button._disclosure_c4ne1_60:focus-visible{outline:2px solid transparent;box-shadow:var(--u-focus-ring)}._disclosure_c4ne1_60 svg{box-sizing:border-box}._disclosure_c4ne1_60 svg{transition:transform var(--u-transition-path)}._disclosure_c4ne1_60 svg[data-open]{box-sizing:border-box}._disclosure_c4ne1_60 svg[data-open]{transform:rotate(90deg)}._names_c4ne1_159{grid-column:2;min-width:0;overflow:hidden;padding-right:var(--u-space-4);white-space:nowrap;text-overflow:ellipsis;color:var(--u-color-text-secondary)}._operator_c4ne1_160,._amount_c4ne1_161,._unit_c4ne1_162{font-family:var(--u-font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;white-space:nowrap}._operator_c4ne1_160{grid-column:3;padding-right:var(--u-space-3);text-align:right;color:var(--u-color-text-secondary)}._amount_c4ne1_161{grid-column:var(--column, 4);text-align:right;color:var(--u-color-text)}._amount_c4ne1_161[data-verdict=unknown]{color:var(--u-color-text-secondary)}._approximate_c4ne1_281{display:inline-block;margin-right:var(--u-space-1);color:var(--u-color-text-secondary);cursor:help}._unit_c4ne1_162{grid-column:var(--column, 5);padding-left:var(--u-space-1);padding-right:var(--u-space-3);color:var(--u-color-text-secondary)}._assessment_c4ne1_163{grid-column:var(--assessment-column, 6);display:flex;align-items:baseline;justify-content:flex-end;gap:var(--u-space-2);padding-right:var(--u-space-3);white-space:nowrap}._assessment_c4ne1_163:empty{padding-right:0}._target_c4ne1_309,._worst_c4ne1_310{font-size:var(--u-text-xs);color:var(--u-color-text-secondary)}._worst_c4ne1_310:before{content:"● "}._worst_c4ne1_310[data-verdict=unknown]:before{color:var(--u-color-text-muted)}._worst_c4ne1_310[data-verdict=warning]:before{color:var(--u-color-warning)}._worst_c4ne1_310[data-verdict=alarm]:before{color:var(--u-color-danger-text)}._line_c4ne1_116[data-inner]>._amount_c4ne1_161{color:var(--u-color-text-secondary)}._line_c4ne1_116[data-kind=interim] ._label_c4ne1_158,._line_c4ne1_116[data-kind=interim]>._amount_c4ne1_161{font-weight:var(--u-weight-medium)}._line_c4ne1_116[data-kind=interim]:before{content:"";grid-row:1;grid-column:3 / var(--figures-end, 6);align-self:start;border-top:1px solid var(--u-color-text-secondary);pointer-events:none}._line_c4ne1_116[data-closing] ._label_c4ne1_158{font-weight:var(--u-weight-medium);color:var(--u-color-text-secondary)}._line_c4ne1_116[data-closing]:before{content:"";grid-row:1;grid-column:3 / var(--figures-end, 6);align-self:start;border-top:1px solid var(--u-color-text-muted);pointer-events:none}._line_c4ne1_116[data-kind=result]{border-top:1px solid var(--u-edge-color-strong)}._line_c4ne1_116[data-kind=result]:not([data-mark]){background:var(--u-color-surface-sunken)}._line_c4ne1_116[data-kind=result] ._label_c4ne1_158{font-weight:var(--u-weight-semibold)}._line_c4ne1_116[data-kind=result]>._amount_c4ne1_161{font-size:var(--u-text-md);font-weight:var(--u-weight-semibold)}._line_c4ne1_116[data-kind=result]>._amount_c4ne1_161:not([data-verdict=unknown]){text-decoration-line:underline;text-decoration-style:double;text-underline-offset:5px}._amount_c4ne1_161[data-later]{padding-left:var(--u-space-6)}._head_c4ne1_407{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:end}._headCell_c4ne1_414{grid-row:1;grid-column:var(--column);display:flex;flex-direction:column;align-items:flex-end;padding:var(--u-space-2) 0 var(--u-space-1);font-size:var(--u-text-xs);font-weight:var(--u-weight-medium);color:var(--u-color-text-secondary);white-space:nowrap}._headUnit_c4ne1_427{font-family:var(--u-font-mono);font-weight:var(--u-weight-regular)}._notes_c4ne1_434{grid-row:2;grid-column:1 / 3;display:flex;flex-wrap:wrap;align-items:center;column-gap:var(--u-space-3);margin-top:calc(-1 * var(--u-space-1));padding:0 var(--u-space-4) var(--u-space-2) calc(var(--u-space-3) + var(--depth, 0) * var(--u-space-5) + var(--disclosure-size) + var(--disclosure-gap));font-size:var(--u-text-xs);color:var(--u-color-text-secondary)}._freshness_c4ne1_448[data-freshness=stale]{color:var(--u-color-warning)}._freshness_c4ne1_448[data-freshness=lost]{color:var(--u-color-danger-text);font-weight:var(--u-weight-medium)}@container (max-width: 34rem){._calculation_c4ne1_46{grid-template-columns:minmax(0,1fr) 0 auto var(--figure-tracks, auto auto) 0}._amount_c4ne1_161[data-later]{padding-left:var(--u-space-2)}._frame_c4ne1_24[data-metrics] ._unit_c4ne1_162:not([data-last]){padding-right:var(--u-space-2)}._headCell_c4ne1_414[data-unit] ._headLabel_c4ne1_478,._names_c4ne1_159{display:none}._labelCell_c4ne1_158{padding-right:var(--u-space-3)}._assessment_c4ne1_163:not(:empty){grid-area:2 / 1 / 3 / -1;justify-content:flex-start;flex-wrap:wrap;min-width:0;overflow:hidden;padding:0 var(--u-space-3) var(--u-space-2) calc(var(--u-space-3) + var(--depth, 0) * var(--u-space-5) + var(--disclosure-size) + var(--disclosure-gap));white-space:normal}._notes_c4ne1_434{grid-row:3;grid-column:1 / -1}}._frame_c4ne1_24[data-two-lines] ._labelCell_c4ne1_158{grid-column:1 / -1;padding-bottom:0}._frame_c4ne1_24[data-two-lines] ._names_c4ne1_159{display:none}._frame_c4ne1_24[data-two-lines] ._line_c4ne1_116>._operator_c4ne1_160,._frame_c4ne1_24[data-two-lines] ._line_c4ne1_116>._amount_c4ne1_161,._frame_c4ne1_24[data-two-lines] ._line_c4ne1_116>._unit_c4ne1_162{grid-row:2;padding-top:var(--u-space-1)}._frame_c4ne1_24[data-two-lines] ._line_c4ne1_116[data-kind=interim]:before,._frame_c4ne1_24[data-two-lines] ._line_c4ne1_116[data-closing]:before{grid-row:2}._frame_c4ne1_24[data-two-lines] ._assessment_c4ne1_163:not(:empty){grid-area:3 / 1 / 4 / -1;justify-content:flex-start;flex-wrap:wrap;min-width:0;overflow:hidden;padding:0 var(--u-space-3) var(--u-space-2) calc(var(--u-space-3) + var(--depth, 0) * var(--u-space-5) + var(--disclosure-size) + var(--disclosure-gap));white-space:normal}._frame_c4ne1_24[data-two-lines] ._notes_c4ne1_434{grid-row:4;grid-column:1 / -1}@media(prefers-reduced-motion:reduce){._disclosure_c4ne1_60 svg{transition:none}._derivation_c4ne1_66:not([hidden]){animation:none}}@media(forced-colors:active){._line_c4ne1_116[data-mark]{outline:1px solid Highlight;outline-offset:-1px}._line_c4ne1_116[data-mark=use]{outline-width:2px;outline-offset:-2px}._derivation_c4ne1_66:before{background:CanvasText}}}