:root{--vol-neutral:#eeeeec;--vol-cut-mid:#7fd9e4;--vol-cut:#00a6bd;--vol-fill-mid:#f07ab8;--vol-fill:#d4007a;--vol-elev-0:#24505c;--vol-elev-1:#4f7f78;--vol-elev-2:#93a883;--vol-elev-3:#d3c79c;--vol-elev-4:#b98d6e;--vol-elev-5:#efe9df}.v3d{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--stage-3d);color:var(--stage-control-fg)}.v3d-canvas{position:absolute;inset:0;touch-action:none}.v3d-canvas>canvas{display:block;width:100%;height:100%;outline:none}.v3d>.v3d-loading{top:50%;left:50%;transform:translate(-50%,-50%)}.v3d-message{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-6);text-align:center}.v3d-fact{color:var(--stage-control-fg);font-weight:var(--fw-medium);text-wrap:balance}.v3d-fact,.v3d-forward{margin:0;font-size:var(--fs-stage-value)}.v3d-forward{max-width:44ch;color:var(--stage-control-fg-dim);text-wrap:pretty}.v3d-card{position:absolute;z-index:2;background:var(--stage-control-bg);color:var(--stage-control-fg);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-3) var(--space-4)}.v3d-controls{top:var(--space-4);left:var(--space-4);flex-direction:column;width:264px;max-width:calc(100% - var(--space-4) * 2 - 34px - var(--space-3))}.v3d-controls,.v3d-row{display:flex;gap:var(--space-3)}.v3d-ramp-button,.v3d-row{align-items:center}.v3d-ramp-button{display:inline-flex;gap:var(--space-1);flex:none;padding:var(--space-1) 6px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--stage-control-fg-dim);cursor:pointer;transition:background var(--dur-hover) var(--ease)}@media (hover:hover){.v3d-ramp-button:hover{background:var(--stage-control-press)}}.v3d-swatch{display:inline-block;width:20px;height:20px;flex:none;border-radius:50%;box-shadow:inset 0 0 0 1px var(--border)}.v3d-swatch[data-ramp=cut_fill]{background:linear-gradient(135deg,var(--vol-cut),var(--vol-cut-mid) 30%,var(--vol-neutral) 50%,var(--vol-fill-mid) 70%,var(--vol-fill))}.v3d-swatch[data-ramp=elevation]{background:linear-gradient(135deg,var(--vol-elev-5),var(--vol-elev-4),var(--vol-elev-3),var(--vol-elev-2),var(--vol-elev-1),var(--vol-elev-0))}.v3d-seg{flex:1 1;display:grid;grid-auto-flow:column;grid-auto-columns:1fr}.v3d-seg .segmented-item{justify-content:center;padding:6px var(--space-2);font-size:var(--fs-stage-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--stage-control-fg-dim)}.v3d-seg .segmented-item.is-active{color:var(--stage-control-fg)}.v3d-legend{display:flex;flex-direction:column;gap:var(--space-1)}.v3d-field-label,.v3d-legend-title{font-size:var(--fs-stage-label);color:var(--stage-control-fg-dim)}.v3d-legend-strip{display:block;height:8px;box-shadow:inset 0 0 0 1px var(--border)}.v3d-legend-strip[data-ramp=cut_fill][data-mode=net]{background:linear-gradient(90deg,var(--vol-fill),var(--vol-fill-mid) 25%,var(--vol-neutral) 50%,var(--vol-cut-mid) 75%,var(--vol-cut))}.v3d-legend-strip[data-ramp=cut_fill][data-mode=cut]{background:linear-gradient(90deg,var(--vol-neutral),var(--vol-cut-mid) 50%,var(--vol-cut))}.v3d-legend-strip[data-ramp=cut_fill][data-mode=fill]{background:linear-gradient(90deg,var(--vol-fill),var(--vol-fill-mid) 50%,var(--vol-neutral))}.v3d-legend-strip[data-ramp=elevation]{background:linear-gradient(90deg,var(--vol-elev-0),var(--vol-elev-1),var(--vol-elev-2),var(--vol-elev-3),var(--vol-elev-4),var(--vol-elev-5))}.v3d-legend-ends{justify-content:space-between;font-family:var(--font-mono);font-size:var(--fs-stage-label);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--stage-control-fg)}.v3d-check,.v3d-legend-ends{display:flex;gap:var(--space-2)}.v3d-check{align-items:center;font-size:var(--fs-stage-value);cursor:pointer}.v3d-check input{width:16px;height:16px;margin:0;accent-color:var(--accent)}.v3d-field{display:flex;flex-direction:column;gap:var(--space-1)}.v3d-field input,.v3d-field select{width:100%;font-size:var(--fs-stage-value);padding:6px var(--space-2)}.popover-panel:has(.v3d-ramps){width:200px}.v3d-ramps{display:flex;flex-direction:column;padding:var(--space-1) 0}.v3d-ramp-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);border:none;border-left:2px solid transparent;background:transparent;color:var(--text-dim);font-size:var(--fs-body);font-weight:var(--fw-body);text-align:left;cursor:pointer;transition:background var(--dur-hover) var(--ease),color var(--dur-hover) var(--ease)}@media (hover:hover){.v3d-ramp-option:hover{background:var(--surface-hover);color:var(--text)}}.v3d-ramp-option.is-active{border-left-color:var(--accent);color:var(--text);font-weight:var(--fw-medium)}.v3d-figures{bottom:var(--space-4);left:var(--space-4);display:grid;grid-template-columns:auto auto;align-items:center;grid-column-gap:var(--space-6);column-gap:var(--space-6);grid-row-gap:var(--space-2);row-gap:var(--space-2);max-width:calc(100% - var(--space-4) * 2 - 34px - var(--space-3))}.v3d-ident{min-width:0}.v3d-name{margin:0;font-size:var(--fs-stage-value);font-weight:var(--fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v3d-date{margin:2px 0 0;font-size:var(--fs-stage-label);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--stage-control-fg-dim);white-space:nowrap}.v3d-dl{display:flex;flex-direction:column;gap:var(--space-2);margin:0}.v3d-dl dt{font-size:var(--fs-stage-label);color:var(--stage-control-fg-dim)}.v3d-dl dd{margin:1px 0 0;font-family:var(--font-mono);font-size:var(--fs-stage-value);font-weight:var(--fw-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.v3d-sub{margin-left:var(--space-2);font-weight:var(--fw-body)}.v3d-note,.v3d-sub{color:var(--stage-control-fg-dim)}.v3d-note{grid-column:1/-1;margin:0;font-size:var(--fs-stage-label);text-wrap:pretty}.v3d>.v3d-close,.v3d>.v3d-recentre{position:absolute;z-index:2;right:var(--space-4)}.v3d>.v3d-close{top:var(--space-4)}.v3d>.v3d-recentre{bottom:var(--space-4)}.v3d>.v3d-recentre:disabled{opacity:.4;cursor:not-allowed}@media (max-width:560px){.v3d-figures{grid-template-columns:minmax(0,1fr)}.v3d-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column-gap:var(--space-3);column-gap:var(--space-3)}.v3d-dl dd{white-space:normal}.v3d-sub{display:block;margin-left:0}}.v3d{container-type:inline-size}@container (max-width: 560px){.v3d-figures{grid-template-columns:minmax(0,1fr)}.v3d-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column-gap:var(--space-3);column-gap:var(--space-3)}.v3d-dl dd{white-space:normal}.v3d-sub{display:block;margin-left:0}}[data-color=a]{--dot:var(--cam-a)}[data-color=b]{--dot:var(--cam-b)}[data-color=c]{--dot:var(--cam-c)}[data-color=d]{--dot:var(--cam-d)}[data-color=e]{--dot:var(--cam-e)}[data-color=f]{--dot:var(--cam-f)}.dmap-area{container-type:inline-size;container-name:dmap-stage}.dmap-swatch{display:block;width:16px;height:16px;border-radius:50%;background:var(--dot);box-shadow:inset 0 0 0 1px rgba(16,16,16,.18)}.dmap-measure-hint.stage-pill{position:static;margin:0;font-weight:var(--fw-medium);font-size:var(--fs-stage-value);white-space:normal;text-align:center;text-wrap:balance}.dmap-measure-live.stage-pill{z-index:5;padding:4px 9px;font-family:var(--font-mono);font-weight:var(--fw-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;pointer-events:none}.dmap-swatch-choice{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:50%;background:transparent;cursor:pointer}.dmap-swatch-choice .dmap-swatch{width:22px;height:22px}.dmap-swatch-choice[aria-checked=true]{box-shadow:0 0 0 2px var(--accent)}.dmap-menu{display:flex;flex-direction:column;padding:var(--space-1)}.dmap-menu-item{padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-sm);background:none;color:var(--text);font-family:inherit;font-size:var(--fs-body);text-align:left;cursor:pointer}.dmap-menu-item:focus-visible,.dmap-menu-item:hover{background:var(--surface-hover)}.dmap-card-label{font-size:var(--fs-caption);color:var(--text-dim)}.dmap-dot{flex:none;width:11px;height:11px;border-radius:50%;background:var(--dot)}.dmap-card-caption,.dmap-card-note{margin:0;font-size:var(--fs-caption);color:var(--text-dim);text-wrap:pretty}.dmap-card-error{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);margin:0;font-size:var(--fs-caption);color:var(--text)}.dmap-card-link{padding:0;border:none;background:none;color:var(--accent-text);font-family:inherit;font-size:var(--fs-caption);font-weight:var(--fw-caption);text-decoration:underline;cursor:pointer}.dmap-creator>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dmap-avatar{display:inline-flex;flex:none;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--accent-weak);color:var(--accent-text);font-size:var(--fs-label);font-weight:var(--fw-data)}.dmap-card-btn,.dmap-card-delete{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px}.dmap-card-delete{border:none;border-radius:var(--radius-sm);background:none;color:var(--danger);font-family:inherit;font-size:var(--fs-body);cursor:pointer;transition:background var(--dur-hover) var(--ease)}.dmap-card-delete:hover{background:var(--danger-soft)}.dmap-card-delete.is-solid{background:var(--danger);color:var(--on-accent)}.dmap-card-delete.is-solid:hover{background:var(--danger);filter:brightness(.92)}.dmap-card-confirm{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--danger-soft)}.dmap-card-confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.dmap-profile{position:relative;min-height:24px}.dmap-profile-svg{display:block;overflow:visible;touch-action:pan-y}.dmap-profile-axis{stroke:var(--border-strong);stroke-width:1;shape-rendering:crispEdges}.dmap-profile-tick{fill:var(--text-dim);font-family:var(--font-mono);font-size:var(--fs-stage-label);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dmap-profile-title{fill:var(--text-dim);font-size:var(--fs-stage-label)}.dmap-profile-line{fill:none;stroke:var(--dot);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.dmap-profile-line.is-overlay{stroke-dasharray:5 3;opacity:.75}.dmap-profile-cross{stroke:var(--text-dim);stroke-width:1;stroke-dasharray:2 2}.dmap-profile-dot{fill:var(--dot);stroke:var(--panel);stroke-width:2}.dmap-profile-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);min-height:20px;margin-bottom:var(--space-1)}.dmap-profile-read{font-family:var(--font-mono);font-size:var(--fs-caption);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap}.dmap-legend{display:flex;flex-direction:column;gap:var(--space-1);padding-left:24px}.dmap-legend-bar{display:block;height:8px}.dmap-legend-bar.is-loading{background:var(--border)}.dmap-legend-ends{display:flex;justify-content:space-between;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--fs-caption);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-dim)}.dmap-change{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--border)}.dmap-change:first-child{margin-top:0;padding-top:0;border-top:0}.dmap-change.is-empty{gap:2px;color:var(--text-dim)}.dmap-change-details,.dmap-change-field,.dmap-change-more,.dmap-changekey{padding-left:24px}.dmap-change-details{display:flex;flex-direction:column;gap:var(--space-2)}.dmap-change-details[hidden]{display:none}.dmap-change-details .dmap-check,.dmap-change-details .dmap-slider{padding-left:0}.dmap-changekey{display:flex;flex-direction:column;gap:2px}.dmap-changekey-strip{display:block;height:8px;box-shadow:inset 0 0 0 1px var(--border);background:linear-gradient(90deg,var(--vol-fill),var(--vol-fill-mid) 30%,transparent 46%,transparent 54%,var(--vol-cut-mid) 70%,var(--vol-cut))}.dmap-changekey[data-show=removed] .dmap-changekey-strip{background:linear-gradient(90deg,var(--vol-fill),var(--vol-fill-mid) 55%,transparent)}.dmap-changekey[data-show=added] .dmap-changekey-strip{background:linear-gradient(90deg,transparent,var(--vol-cut-mid) 45%,var(--vol-cut))}.dmap-changekey-ends{display:flex;justify-content:space-between;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--fs-caption);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-dim)}.dmap-changekey-words{margin:0;font-size:var(--fs-caption);color:var(--text-dim);text-wrap:pretty}.dmap-baseline{position:static;flex:none;padding:0 var(--space-2);height:28px;font-size:var(--fs-stage-label);color:var(--text-dim)}.dmap-count{font-family:var(--font-mono);font-size:var(--fs-caption);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-dim)}.dmap-markups-sk{display:flex;flex-direction:column;gap:6px}.dmap-markups-sk .ds-sk{height:28px}.dmap-markups{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.dmap-markup{display:flex;align-items:center;gap:2px;padding-right:var(--space-1);box-shadow:inset 2px 0 0 transparent}.dmap-markup.is-selected{box-shadow:inset 2px 0 0 var(--accent)}.dmap-markup-main{display:grid;flex:1 1;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-2);gap:var(--space-2);min-width:0;min-height:32px;padding:0 var(--space-2) 0 var(--space-3);border:none;border-radius:0;background:none;color:var(--text);font-family:inherit;font-size:var(--fs-caption);font-weight:var(--fw-body);text-align:left;cursor:pointer;transition:background var(--dur-hover) var(--ease)}.dmap-markup-main:hover{background:var(--surface-hover)}.dmap-markup.is-selected .dmap-markup-name{font-weight:var(--fw-medium)}.dmap-markup.is-hidden .dmap-markup-main{color:var(--text-dim)}.dmap-markup.is-hidden .dmap-dot{opacity:.45}.dmap-markup-icon{display:inline-flex;color:var(--text-dim)}.dmap-markup-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dmap-markup-figures{display:flex;flex-direction:column;align-items:flex-end;gap:1px;min-width:0}.dmap-markup-figure{font-size:var(--fs-caption);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-dim)}.dmap-markup-chip,.dmap-markup-figure{font-family:var(--font-mono);white-space:nowrap}.dmap-markup-chip{padding:1px 5px;border-radius:var(--radius-sm);font-size:var(--fs-label);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:var(--fw-medium)}.dmap-markup-chip[data-sign=up]{background:var(--vol-neutral);color:var(--vol-cut)}.dmap-markup-chip[data-sign=down]{background:var(--vol-neutral);color:var(--vol-fill)}.dmap-markup-eye.icon-btn{width:28px;height:28px;border-color:transparent;background:transparent}.dmap-volume{position:absolute;top:0;right:0;bottom:0;z-index:6;width:45%;border-left:1px solid var(--border);background:var(--stage-3d)}.dmap-area.is-clean .dmap-measure-live,.dmap-area.is-clean .dmap-top{display:none}@media (prefers-reduced-motion:reduce){.dmap-card-delete,.dmap-markup-main{transition:none}}.dmap-viewer.has-inspector{--dmap-inspector-w:auto;grid-template-columns:auto minmax(0,1fr) var(--dmap-inspector-w)}.dmap-inspector{grid-column:3;display:flex;flex-direction:column;width:clamp(288px,22vw,340px);min-height:0;background:var(--panel);border-left:1px solid var(--border);color:var(--text);font-size:var(--fs-body)}.dmap-inspector[hidden]{display:none}.dmap-inspector .dmap-insp-bar{display:flex;align-items:center;gap:var(--space-1);flex:none;min-height:44px;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-1);border-bottom:1px solid var(--border)}.dmap-insp-bar .icon-btn{width:30px;height:30px;flex:none;border-color:transparent;background:transparent}.dmap-insp-bar-name{display:flex;align-items:center;gap:var(--space-2);flex:1 1;min-width:0}.dmap-insp-name{min-width:0;margin:0;font-size:var(--fs-cardtitle);font-weight:var(--fw-medium);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dmap-insp-name.is-quiet{color:var(--text-dim);font-weight:var(--fw-body)}.dmap-insp-name-btn{display:block;max-width:100%;padding:0;border:none;border-bottom:2px solid transparent;background:none;color:inherit;font:inherit;text-align:left;cursor:text}@media (hover:hover){.dmap-insp-name-btn:hover{border-bottom-color:var(--border-strong)}}.dmap-insp-name-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dmap-insp-name-input{flex:1 1;min-width:0;padding:3px 6px;font-size:var(--fs-cardtitle);background:var(--panel);box-shadow:0 0 0 1px var(--border-strong)}.dmap-insp-body{min-height:0;padding:0 var(--space-4) var(--space-8);overflow-y:auto;overscroll-behavior:contain}.dmap-insp-body,.dmap-sec{display:flex;flex-direction:column}.dmap-sec{gap:var(--space-2);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.dmap-sec.dmap-sel-foot{gap:var(--space-3);border-top:1px solid var(--border);border-bottom:0}.dmap-sel-setting{display:flex;flex-direction:column;gap:var(--space-2)}.dmap-sel-foot .dmap-insp-colors{max-width:228px}.btn-danger.dmap-sel-delete{display:inline-flex;align-items:center;align-self:flex-start;gap:6px;min-height:34px;padding:0 12px;font-size:var(--fs-caption)}.dmap-sec:last-child{border-bottom:0}.dmap-sec-head{margin:0;font-size:var(--fs-label);font-weight:var(--fw-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-dim)}.dmap-insp-title{margin:0;font-family:var(--font-mono);font-size:var(--fs-cardtitle);font-weight:var(--fw-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dmap-sec-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-1)}.ds-disclosure-row.dmap-sec-more{justify-content:flex-start;margin:0 0 0 -5px}.dmap-sec-details{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-2);border-top:1px dashed var(--border)}.dmap-sec-details[hidden]{display:none}.dmap-card-btn.is-on{color:var(--accent-text);box-shadow:inset 0 -2px 0 var(--accent)}.dmap-reel{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.dmap-reel-row{display:grid;grid-template-columns:minmax(0,1fr) 26px;align-items:center;grid-gap:6px;gap:6px;padding:2px 0 2px var(--space-2);box-shadow:inset 2px 0 0 transparent}.dmap-reel-row.is-live{box-shadow:inset 2px 0 0 var(--accent)}.dmap-reel-row.is-idle{opacity:.55}.dmap-reel-row .ds-field-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.dmap-reel-row .ds-datefield{gap:var(--space-1)}.dmap-reel-row .ds-datefield .icon-btn{width:26px}.dmap-reel-row .ds-datebtn{flex:1 1;min-width:0;gap:6px;padding:5px var(--space-2)}.dmap-reel-row .ds-datebtn-icon{display:none}.dmap-reel-row .ds-datebtn-main{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:var(--fs-caption);font-weight:var(--fw-caption);white-space:nowrap}.icon-btn.dmap-reel-remove{width:26px;height:26px;border-color:transparent;background:transparent}.btn-secondary.dmap-reel-add{align-self:flex-start;margin-left:calc(var(--space-2) + 18px + 6px);padding:5px 10px;font-size:var(--fs-caption)}.dmap-insp-hint{display:flex;align-items:flex-start;gap:var(--space-2);margin:var(--space-4) 0 0;color:var(--text-dim);font-size:var(--fs-caption);text-wrap:pretty}.dmap-insp-hint svg{flex:none;margin-top:1px}.dmap-insp-meta{gap:var(--space-3)}.dmap-insp-colors{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:var(--space-1);gap:var(--space-1)}.dmap-rows{display:flex;flex-direction:column;margin:0}.dmap-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;grid-gap:var(--space-3);gap:var(--space-3);padding:6px 0;border-bottom:1px solid var(--border)}.dmap-row:last-child{border-bottom:0}.dmap-row dt{color:var(--text-dim);font-size:var(--fs-caption)}.dmap-row dd{display:flex;flex-direction:column;align-items:flex-end;gap:1px;margin:0;min-width:0}.dmap-row-value{font-family:var(--font-mono);font-weight:var(--fw-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right}.dmap-row-caption{color:var(--text-dim);font-size:var(--fs-caption)}.dmap-rows.is-busy{opacity:.45;transition:opacity var(--dur-state) var(--ease)}.dmap-row dd.dmap-creator{flex-direction:row;align-items:center;gap:var(--space-2);color:var(--text)}.dmap-chart-table,.dmap-table{width:100%;border-collapse:collapse;font-size:var(--fs-caption)}.dmap-chart-table td,.dmap-chart-table th,.dmap-table td,.dmap-table th{padding:5px 0;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}.dmap-chart-table thead th,.dmap-table thead th{border-bottom:1px solid var(--border-strong);color:var(--text-dim);font-size:var(--fs-label);font-weight:var(--fw-label);letter-spacing:var(--tracking-label);text-transform:uppercase}.dmap-chart-table th:first-child,.dmap-table th:first-child{text-align:left;white-space:normal}.dmap-chart-table tbody th,.dmap-table tbody th{color:var(--text);font-weight:var(--fw-body)}.dmap-chart-table th:first-child,.dmap-table th:first-child{padding-left:var(--space-2);box-shadow:inset 2px 0 0 transparent}.dmap-chart-table tbody td,.dmap-table tbody td{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dmap-table tbody tr.is-current th{box-shadow:inset 2px 0 0 var(--accent);font-weight:var(--fw-medium)}.dmap-chart-table tbody tr.is-hover{background:var(--surface-hover)}.dmap-holds{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:0;padding:0;list-style:none}.dmap-badge{padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--accent-weak);color:var(--accent-text);font-size:var(--fs-label);font-weight:var(--fw-medium)}.dmap-badge.is-off{background:var(--panel-2);color:var(--text-dim);text-decoration:line-through}.dmap-field{display:flex;flex-direction:column;gap:var(--space-1)}.dmap-field input,.dmap-field select{width:100%}.dmap-chart{display:flex;flex-direction:column;gap:var(--space-1);min-height:24px}.dmap-chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);min-height:20px}.dmap-chart-read{font-family:var(--font-mono);font-size:var(--fs-caption);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.dmap-chart-read.is-dim{font-family:inherit;color:var(--text-dim)}.dmap-chart-svg{display:block;overflow:visible;touch-action:pan-y}.dmap-chart-zero{stroke:var(--border-strong);stroke-width:1;shape-rendering:crispEdges}.dmap-chart-bar{fill:var(--dot)}.dmap-chart-cumulative{fill:none;stroke:var(--text-dim);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.dmap-chart-dot{fill:var(--text-dim);stroke:var(--panel);stroke-width:2}.dmap-chart-key,.dmap-profile-key{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);margin:var(--space-1) 0 0;padding:0;list-style:none;color:var(--text-dim);font-size:var(--fs-label)}.dmap-chart-key li,.dmap-profile-key li{display:flex;align-items:center;gap:6px}.dmap-key-bar{display:block;width:9px;height:11px;border-radius:var(--radius-sm);background:var(--dot)}.dmap-key-line{display:block;width:16px;height:0;border-top:2px solid var(--dot,currentColor)}.dmap-key-line.is-overlay{border-top-style:dashed}.dmap-key-line.is-muted{border-top-color:var(--text-dim)}.dmap-chart-table{margin-top:var(--space-2)}.dmap-area:has(>.dmap-volume.is-split) .dmap-panes,.dmap-area:has(>.dmap-volume.is-split) .dmap-top{right:45%}.dmap-area:has(>.dmap-volume.is-split) .bm-attrib-credit,.dmap-area:has(>.dmap-volume.is-split) .dmap-rail,.dmap-area:has(>.dmap-volume.is-split) .stage-floor{right:calc(45% + var(--stage-inset))}.dmap-volume.is-overlay{left:0;z-index:8;width:auto;border-left:0}.dmap-volume.is-window{top:auto;left:auto;right:calc(var(--stage-inset) + 34px + var(--space-3));bottom:calc(var(--stage-inset) + 52px);z-index:8;width:380px;max-width:calc(100% - 2 * (var(--stage-inset) + 34px + var(--space-3)));height:300px;max-height:calc(100% - 2 * var(--stage-inset) - 52px);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;right:calc(var(--stage-inset) + var(--dmap-dock-w, 0px) + 42px + var(--space-3))}.dmap-volume .v3d>.v3d-close,.dmap-volume.is-window .v3d-controls,.dmap-volume.is-window .v3d-figures{display:none}.dmap-volume-tools{position:absolute;top:var(--space-3);right:var(--space-3);z-index:3;display:flex;gap:var(--space-1)}.dmap-volume.is-window .dmap-volume-tools .stage-tool{width:30px;height:30px}.v3d-swatch[data-ramp=added_removed]{background:linear-gradient(135deg,var(--vol-cut),var(--vol-cut-mid) 30%,var(--vol-neutral) 50%,var(--vol-fill-mid) 70%,var(--vol-fill))}.v3d-legend-strip[data-ramp=added_removed][data-mode=net]{background:linear-gradient(90deg,var(--vol-fill),var(--vol-fill-mid) 25%,var(--vol-neutral) 50%,var(--vol-cut-mid) 75%,var(--vol-cut))}.v3d-legend-strip[data-ramp=added_removed][data-mode=cut]{background:linear-gradient(90deg,var(--vol-neutral),var(--vol-cut-mid) 50%,var(--vol-cut))}.v3d-legend-strip[data-ramp=added_removed][data-mode=fill]{background:linear-gradient(90deg,var(--vol-fill),var(--vol-fill-mid) 50%,var(--vol-neutral))}@media (prefers-reduced-motion:reduce){.dmap-rows.is-busy{transition:none}}.dmap-insp-bar .dmap-insp-edit{flex:none;min-height:30px;padding:4px 10px;font-size:var(--fs-caption);white-space:nowrap}.dmap-insp-bar .dmap-insp-edit[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent,#fff)}.dmap-panel .icon-btn.dmap-areas-draw,.dmap-panel .icon-btn.dmap-markup-eye{width:26px;height:26px;border-color:transparent;background:transparent}@media (hover:hover){.dmap-panel .icon-btn.dmap-areas-draw:hover:not(:disabled),.dmap-panel .icon-btn.dmap-markup-eye:hover{border-color:transparent;background:var(--surface-hover)}}.dmap-panel .icon-btn.dmap-markup-eye[aria-pressed=true]{border-color:transparent;background:transparent;color:var(--text-dim)}.dmap-arealist{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.dmap-arearow{display:flex;align-items:center;gap:2px;padding-right:var(--space-1);box-shadow:inset 2px 0 0 transparent}.dmap-arearow.is-selected{box-shadow:inset 2px 0 0 var(--accent)}.dmap-arearow-main{display:flex;flex:1 1;align-items:center;gap:var(--space-2);min-width:0;min-height:32px;padding:0 var(--space-1) 0 var(--space-3);border:none;border-radius:0;background:none;color:var(--text);font-family:inherit;font-size:var(--fs-caption);text-align:left;cursor:pointer}@media (hover:hover){.dmap-arearow-main:hover{background:var(--surface-hover)}}.dmap-arearow-main:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.dmap-arearow.is-selected .dmap-arearow-label{font-weight:var(--fw-medium)}.dmap-arearow-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dmap-arearow-ha{flex:none;font-size:var(--fs-caption);font-weight:var(--fw-body);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-dim)}.dmap-arearow-body{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-2)}.dmap-arearow-figs{display:flex;flex-direction:column;gap:2px;min-width:0}.dmap-arearow-value{font-family:var(--font-mono);font-size:var(--fs-cardtitle);font-weight:var(--fw-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.dmap-arearow-caption{font-size:var(--fs-caption);color:var(--text-dim);text-wrap:pretty}.dmap-arearow-value.is-provisional,.dmap-fig-value.is-provisional,.dmap-period-v.is-provisional{color:var(--text-dim)}.dmap-spark{flex:none;overflow:visible}.dmap-spark.is-empty{display:block;flex:none;width:44px;height:20px}.dmap-spark-zero{stroke:var(--border-strong);stroke-width:1;stroke-dasharray:2 2}.dmap-spark-line{fill:none;stroke:var(--vol-cut);stroke-width:1.8;stroke-linejoin:round}.dmap-spark[data-sign=down] .dmap-spark-line{stroke:var(--vol-fill)}.dmap-spark-end{fill:var(--vol-cut)}.dmap-spark[data-sign=down] .dmap-spark-end{fill:var(--vol-fill)}.dmap-markup-role{font-size:var(--fs-caption);color:var(--text-dim);white-space:nowrap}.dmap-hint{display:flex;align-items:flex-start;gap:var(--space-2)}.dmap-hint.is-panel{padding:10px 6px 10px 10px;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--accent-text)}.dmap-hint-icon{display:inline-flex;flex:none;margin-top:1px}.dmap-hint-text{flex:1 1;margin:0;font-size:var(--fs-caption);color:var(--text);text-wrap:pretty}.dmap-hint-x{display:inline-flex;flex:none;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:50%;background:none;color:var(--text-dim);cursor:pointer}.dmap-hint-x:hover{background:var(--surface-hover)}.dmap-hint.is-stage{align-items:center;padding:5px 5px 5px 10px;border-radius:var(--dmap-mark-radius,var(--radius-sm));background:var(--stage-control-fg);box-shadow:var(--shadow-md)}.dmap-hint.is-stage .dmap-hint-text{color:var(--stage-control-bg);font-size:var(--fs-stage-value)}.dmap-hint.is-stage .dmap-hint-x{color:var(--stage-control-bg)}.dmap-hint.is-stage .dmap-hint-x:hover{background:rgba(255,255,255,.14)}.dmap-hatch{display:inline-block;flex:none;width:14px;height:12px;border:1.5px solid var(--text);background:repeating-linear-gradient(135deg,var(--text-dim) 0 1.5px,var(--panel) 1.5px 4.5px)}.dmap-area.has-floor .bm-attrib-credit,.dmap-area.has-floor .bm-attrib-logo,.dmap-readout{bottom:calc(var(--stage-inset) + var(--dmap-floor-h, 60px) + 8px)}.dmap-readout{position:absolute;left:var(--stage-inset);z-index:4;display:flex;flex-direction:column;gap:4px;max-width:calc(100% - 2 * var(--stage-inset) - 60px);padding:6px 10px;border-radius:var(--dmap-mark-radius,var(--radius-sm));background:var(--stage-control-bg);color:var(--stage-control-fg);box-shadow:var(--shadow-md);pointer-events:none}.dmap-readout-title{margin:0;font-size:var(--fs-stage-value);font-weight:var(--fw-medium)}.dmap-readout-key{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:var(--fs-stage-label)}.dmap-readout-ramp{display:inline-block;width:96px;height:10px;background:linear-gradient(90deg,var(--vol-fill),var(--vol-fill-mid) 30%,var(--vol-neutral) 44%,var(--vol-neutral) 56%,var(--vol-cut-mid) 70%,var(--vol-cut))}.dmap-readout-ramp[data-show=removed]{width:56px;background:linear-gradient(90deg,var(--vol-fill),var(--vol-fill-mid) 60%,var(--vol-neutral))}.dmap-readout-ramp[data-show=added]{width:56px;background:linear-gradient(90deg,var(--vol-neutral),var(--vol-cut-mid) 40%,var(--vol-cut))}.dmap-readout-ex{display:inline-flex;align-items:center;gap:5px;margin-left:6px}.dmap-area.is-clean .dmap-readout{display:none}.dmap-sec.dmap-figs-sec{gap:var(--space-3);border-bottom:1px solid var(--border)}.dmap-headline{display:flex;flex-direction:column;gap:2px;min-width:0}.dmap-headline.is-busy{opacity:.6}.dmap-fig-label,.dmap-fig-note,.dmap-fig-pm{margin:0;font-size:var(--fs-caption);color:var(--text-dim)}.dmap-fig-value{margin:0;font-family:var(--font-mono);font-size:var(--fs-title);font-weight:var(--fw-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-title);white-space:nowrap}.dmap-fig-value.is-small{font-size:var(--fs-cardtitle)}.dmap-fig-pm{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dmap-fig-warn{margin:2px 0 0;font-size:var(--fs-caption);font-weight:var(--fw-caption);color:var(--text)}.dmap-fig-excluded,.dmap-fig-quality{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;font-size:var(--fs-caption);color:var(--text-dim);text-wrap:pretty}.dmap-fig-excluded{flex-wrap:nowrap;align-items:flex-start}.dmap-fig-excluded .dmap-hatch{margin-top:3px}.dmap-qbadge{flex:none;padding:1px 6px;border-radius:var(--radius-sm);background:var(--panel-2);color:var(--text);font-size:var(--fs-label);font-weight:var(--fw-medium);box-shadow:inset 0 0 0 1px var(--border)}.dmap-qbadge.is-comparable{background:var(--accent-weak);color:var(--accent-text);box-shadow:none}.dmap-periods{margin:0;padding:0;list-style:none}.dmap-period{padding:7px 0;border-bottom:1px solid var(--border)}.dmap-period:first-child{border-top:1px solid var(--border)}.dmap-period-sub,.dmap-period-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.dmap-period-top{font-size:var(--fs-body)}.dmap-period-v{font-family:var(--font-mono);font-weight:var(--fw-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.dmap-period-sub{margin-top:3px;font-size:var(--fs-caption);color:var(--text-dim)}.dmap-period-sub>span:last-child{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dmap-period-flag,.dmap-period-note{margin:4px 0 0;font-size:var(--fs-caption);color:var(--text-dim)}.dmap-period-flag{padding-left:var(--space-2);border-left:2px solid var(--text);color:var(--text);font-weight:var(--fw-medium)}.dmap-chart-grid{stroke:var(--border);stroke-width:1;shape-rendering:crispEdges}.dmap-chart-band{fill:var(--vol-cut);fill-opacity:.14}.dmap-chart-line{fill:none;stroke:var(--vol-cut);stroke-width:2;stroke-linejoin:round}.dmap-chart-svg[data-sign=down] .dmap-chart-band{fill:var(--vol-fill)}.dmap-chart-svg[data-sign=down] .dmap-chart-line{stroke:var(--vol-fill)}.dmap-chart-svg .dmap-chart-dot{fill:var(--panel);stroke:var(--vol-cut);stroke-width:2}.dmap-chart-svg[data-sign=down] .dmap-chart-dot{stroke:var(--vol-fill)}.dmap-chart-svg .dmap-chart-dot.is-provisional{stroke-dasharray:2 2}.dmap-section{display:flex;flex-direction:column;gap:var(--space-1)}.dmap-section-line{fill:none;stroke:var(--text);stroke-width:1.5;stroke-linejoin:round}.dmap-section-shade.is-removed{fill:var(--vol-fill);fill-opacity:.5}.dmap-section-shade.is-added{fill:var(--vol-cut);fill-opacity:.5}.dmap-section-hatchline{stroke:var(--text-dim);stroke-width:1.2}.dmap-section-hatch{opacity:.55}.dmap-section-key{display:inline-block;width:18px;height:2px;background:var(--text)}.dmap-section-swatch{display:inline-block;width:12px;height:12px}.dmap-section-swatch.is-removed{background:var(--vol-fill);opacity:.6}.dmap-section-swatch.is-added{background:var(--vol-cut);opacity:.6}.dmap-empty-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-dim)}.dmap-empty-card svg{flex:none}.dmap-empty-card p{margin:0;font-size:var(--fs-caption);text-wrap:pretty}.dmap-tonnes-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2);gap:var(--space-2)}.dmap-tonnes-fields .dmap-card-error{grid-column:1/-1}.btn.dmap-report-btn{display:inline-flex;align-items:center;gap:7px}.dmap-zone-surveys{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;border:0}.dmap-zone-surveys legend{margin-bottom:var(--space-1);padding:0}.dmap-markup[data-role] .dmap-markup-main{grid-template-columns:auto auto minmax(0,1fr) auto}