.demo,.demo-hero,.demo-roles,.demo-preview,.demo-cta{--d-canvas:var(--app-surface-nav);--d-surface:var(--app-surface);--d-ink:var(--app-content);--d-muted:var(--app-content-muted);--d-line:var(--app-border);--d-track:#eef0f4;--d-accent:var(--app-chart-1);--d-baseline:var(--app-border-strong);--d-done:var(--app-status-cell-done);--d-working:var(--app-status-cell-working);--d-stuck:var(--app-status-cell-stuck);--d-empty:var(--app-status-cell-empty);--d-done-bg:var(--app-status-success-bg);--d-working-bg:var(--app-status-warning-bg);--d-stuck-bg:var(--app-status-danger-bg);--d-empty-bg:var(--app-status-neutral-bg);--d-ramp-1:#86b6ef;--d-ramp-2:#3987e5;--d-ramp-3:#1c5cab;--d-ramp-4:#0d366b;--d-ramp-track:#e5f1ff;--d-heat-1:#cde2fb;--d-heat-2:#86b6ef;--d-heat-3:#3987e5;--d-heat-4:#1c5cab;--d-heat-5:#0d366b;--d-ease:cubic-bezier(.22, .8, .24, 1);--d-shadow:0 1px 2px #1018280a, 0 6px 20px -10px #10182824;--d-shadow-lift:0 2px 4px #1018280d, 0 18px 40px -16px #1018283d}.demo-hero{background:radial-gradient(60% 120% at 85% 0%, #6161ff17, transparent 70%), linear-gradient(var(--app-canvas), var(--d-canvas));padding-block:40px 28px}.demo-hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:32px 56px;display:grid}.demo-hero-inner{justify-items:start;gap:18px;display:grid}.demo-title{letter-spacing:-.045em;max-width:14ch;font-size:clamp(40px,5.2vw,68px);font-weight:500;line-height:1.04}.demo-intro{max-width:38em;color:var(--d-muted)}.demo-hero-media{display:block;position:relative}.demo-hero-photo{aspect-ratio:1168/880;object-fit:cover;border-radius:var(--app-radius-panel);background:var(--app-primary-soft);width:100%;height:auto;box-shadow:var(--d-shadow-lift);display:block}.demo-roles{background:var(--d-canvas);padding-block:8px 56px}.demo-preview{background:var(--d-canvas);padding-block-start:8px}.demo-section-heading{gap:8px;margin-block-end:24px;display:grid}.demo-section-heading h2{letter-spacing:-.03em;font-size:clamp(26px,3vw,36px);font-weight:500;line-height:1.15}.demo-section-heading p{max-width:40em;color:var(--d-muted)}.demo-role-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;display:grid}.demo-role{--demo-role-pad-block:24px;--demo-role-pad-inline:24px;padding:var(--demo-role-pad-block) var(--demo-role-pad-inline);border:1px solid var(--d-line);border-radius:var(--app-radius-card);background:var(--d-surface);box-shadow:var(--d-shadow);grid-template-rows:auto auto 1fr auto auto;justify-items:start;gap:10px;display:grid;overflow:hidden}.demo-role-photo{width:calc(100% + 2 * var(--demo-role-pad-inline));aspect-ratio:4/3;max-width:none;height:auto;margin:calc(-1 * var(--demo-role-pad-block)) calc(-1 * var(--demo-role-pad-inline)) 8px;object-fit:cover;object-position:50% 18%;background:var(--d-canvas);display:block}.demo-role-icon{background:var(--app-brand-soft);width:32px;height:32px;color:var(--app-brand-hover);border-radius:10px;flex-shrink:0;place-items:center;display:inline-grid}.demo-role-title{color:var(--d-ink);align-items:center;gap:10px;font-size:20px;font-weight:600;line-height:1.25;display:flex}.demo-role-focus{color:var(--d-muted);line-height:1.5}.demo-role-can{color:var(--d-ink);font-weight:500;line-height:1.5}.demo-role-start{margin-block-start:6px}.demo{background:var(--d-canvas);color:var(--d-ink);padding-block:8px 40px;position:relative;overflow-x:clip}.demo:before{content:"";pointer-events:none;background-image:radial-gradient(#32333812 1px,#0000 1.2px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 70%);mask-image:linear-gradient(#000,#0000 70%)}.demo>.container{position:relative}.dmuted{color:var(--d-muted)}.dsmall{font-size:13px;line-height:1.4}.dcontrols{gap:20px;margin-block-end:24px;display:grid}.dpicker{gap:10px;min-width:0;display:grid}.dpicker-label{letter-spacing:.06em;text-transform:uppercase;color:var(--d-muted);font-size:13px;font-weight:500}.dpicker-note{color:var(--d-muted);margin-block-start:-8px;font-size:14px}.dopt{border:1px solid var(--d-line);background:var(--d-surface);min-height:44px;color:var(--d-ink);cursor:pointer;text-align:start;font:inherit;align-items:center;gap:10px;margin:0;transition:background-color .2s,border-color .2s,color .2s,translate .2s;display:flex;position:relative}.dopt:hover{border-color:var(--app-border-mid);translate:0 -1px}.dopt:focus-visible{outline:2px solid var(--app-primary);outline-offset:2px}.dpersonas{flex-wrap:wrap;gap:6px;display:flex}.dpersonas .dopt{border-radius:var(--app-radius-pill);padding:6px 14px 6px 6px;font-size:14px;font-weight:500;line-height:1.25}.dopt-icon{background:var(--app-brand-soft);width:28px;height:28px;color:var(--app-brand-hover);border-radius:50%;flex-shrink:0;place-items:center;transition:background-color .2s,color .2s;display:grid}.dpersonas .dopt[aria-checked=true]{background:var(--app-brand-hover);border-color:var(--app-brand-hover);color:var(--app-on-brand);box-shadow:0 8px 20px -10px #452aeab3}.dpersonas .dopt[aria-checked=true] .dopt-icon{color:var(--app-on-brand);background:#ffffff2e}.dprogrammes{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.dprogrammes .dopt{--dopt-pad:12px;padding:var(--dopt-pad);border-radius:var(--app-radius-card);box-shadow:var(--d-shadow);grid-template-rows:auto auto auto;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px 10px;display:grid;overflow:hidden}.dopt-photo{width:calc(100% + 2 * var(--dopt-pad));aspect-ratio:16/9;max-width:none;height:auto;margin:calc(-1 * var(--dopt-pad)) calc(-1 * var(--dopt-pad)) 4px;object-fit:cover;background:var(--d-canvas);grid-column:1/-1;display:block}.dprogrammes .dopt[aria-checked=true]{border-color:var(--app-brand);box-shadow:0 0 0 1px var(--app-brand), 0 10px 26px -14px #6161ffb3}.dprogrammes .dopt[aria-checked=true]:after{content:"";background:var(--app-brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='m5 9.2 2.6 2.6L13 6.4' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat;border-radius:50%;width:18px;height:18px;position:absolute;top:10px;right:10px}.dprogrammes.is-portfolio .dopt[aria-checked=true]{border-color:var(--app-border-mid);box-shadow:var(--d-shadow)}.dprogrammes.is-portfolio .dopt[aria-checked=true]:after{background-color:var(--app-content-muted)}.dopt-prog{gap:2px;min-width:0;padding-inline-end:18px;display:grid}.dopt-name{font-size:14px;font-weight:500;line-height:1.3}.dopt-company{color:var(--d-muted);font-size:12px;line-height:1.35}.dopt-rag{color:var(--d-ink);grid-column:1/-1;align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.dopt-rag:before{content:"";background:var(--d-empty);border-radius:50%;width:8px;height:8px}.dopt-rag--green:before{background:var(--d-done)}.dopt-rag--amber:before{background:var(--d-working)}.dopt-rag--red:before{background:var(--d-stuck)}.dmark{background:var(--app-brand-soft);width:36px;height:36px;color:var(--app-brand-hover);letter-spacing:.02em;border-radius:10px;flex-shrink:0;place-items:center;font-size:13px;font-weight:600;display:inline-grid}.dstage .dview,.dstage .dctx-main,.dstage .dctx-facts{transition:opacity .26s}.dstage.is-fading .dview,.dstage.is-fading .dctx-main,.dstage.is-fading .dctx-facts{opacity:.18;transition-duration:.14s}.dctx{border:1px solid var(--d-line);border-radius:var(--app-radius-panel);background:var(--d-surface);box-shadow:var(--d-shadow);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:end;gap:20px 40px;margin-block-end:16px;padding:28px 28px 22px;display:grid;position:relative;overflow:hidden}.dctx:before{content:"";background:linear-gradient(90deg, var(--app-brand), var(--app-primary) 60%, transparent);height:3px;position:absolute;inset:0 0 auto}.dctx-main{justify-items:start;gap:10px;min-width:0;display:grid}.dctx-seat{border-radius:var(--app-radius-pill);background:var(--app-brand-soft);color:var(--app-brand-hover);align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:500;display:inline-flex}.dctx-title{letter-spacing:-.03em;font-size:clamp(26px,3vw,38px);font-weight:500;line-height:1.15}.dctx-story{max-width:46em;color:var(--d-muted);font-size:16px}.dctx-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin:0;display:grid}.dctx-facts div{border-inline-start:1px solid var(--d-line);gap:2px;min-width:0;padding-inline-start:12px;display:grid}.dctx-facts dt{letter-spacing:.04em;text-transform:uppercase;color:var(--d-muted);font-size:12px}.dctx-facts dd{margin:0;font-size:15px;font-weight:500;line-height:1.35}.dctx-focus{border-block-start:1px solid var(--d-line);color:var(--d-muted);grid-column:1/-1;padding-block-start:14px;font-size:14px}.dkpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-block-end:16px;display:grid}.dkpi{border:1px solid var(--d-line);border-radius:var(--app-radius-card);background:var(--d-surface);min-width:0;box-shadow:var(--d-shadow);align-content:start;gap:6px;padding:18px 20px;display:grid}.dkpi-label{color:var(--d-muted);align-items:center;gap:6px;font-size:14px;display:inline-flex}.dkpi-value{letter-spacing:-.03em;color:var(--d-ink);white-space:nowrap;font-size:34px;font-weight:500;line-height:1.1}.dkpi-unit{letter-spacing:0;color:var(--d-muted);font-size:16px;font-weight:400}.dkpi-note{color:var(--d-muted);font-size:13px;line-height:1.4}.dgrid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:16px;display:grid}.dcard{grid-column:span var(--span,4);border:1px solid var(--d-line);border-radius:var(--app-radius-card);background:var(--d-surface);min-width:0;box-shadow:var(--d-shadow);transition:translate .35s var(--d-ease), border-color .35s ease;flex-direction:column;gap:14px;padding:18px 20px 14px;display:flex;position:relative}.dcard:after{content:"";z-index:-1;border-radius:inherit;box-shadow:var(--d-shadow-lift);opacity:0;transition:opacity .35s var(--d-ease);pointer-events:none;position:absolute;inset:0}@media (hover:hover){.dcard:hover{border-color:var(--app-border-mid);translate:0 -3px}.dcard:hover:after{opacity:1}}.dcard{isolation:isolate}.dcard-head{align-items:center;gap:10px;min-height:32px;display:flex}.dcard-icon{background:linear-gradient(135deg, var(--app-brand-soft), #e5f1ff);width:32px;height:32px;color:var(--app-brand-hover);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.dcard-title{letter-spacing:-.01em;flex:1;min-width:0;font-size:16px;font-weight:500;line-height:1.3}.dcard-more{width:28px;height:28px;color:var(--d-muted);fill:currentColor;opacity:.7;border-radius:8px;place-items:center;display:grid}.dcard:hover .dcard-more{background:var(--app-surface-muted)}.dcard-body{flex:1;align-content:start;gap:14px;min-width:0;display:grid}.dcard-foot{border-block-start:1px solid var(--d-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-block-start:10px;display:flex}.dcard-source{color:var(--d-muted);font-size:12px}.dcard-toggle{border:1px solid var(--d-line);border-radius:var(--app-radius-pill);background:var(--d-surface);min-height:32px;color:var(--d-ink);cursor:pointer;padding:4px 12px;font-size:13px;font-weight:500}.dcard-toggle:hover{background:var(--app-surface-muted)}.dcard-toggle:focus-visible{outline:2px solid var(--app-primary);outline-offset:2px}.dcard-data{overflow-x:auto}.dcard-data[hidden]{display:none}.dcard-data table,.dport,.dgates{border-collapse:collapse;width:100%;font-size:13px}.dcard-data th,.dcard-data td{border-block-end:1px solid var(--d-line);text-align:start;font-variant-numeric:tabular-nums;padding:6px 8px}.dcard-data thead th{color:var(--d-muted);font-weight:500}.dcard-data tbody th{font-weight:500}.dlede{color:var(--d-muted);font-size:14px;line-height:1.5}.dlede strong{color:var(--d-ink);font-weight:600}.dbig{letter-spacing:-.03em;margin-inline-end:4px;font-size:30px;font-weight:500}.dsub{color:var(--d-muted);margin-block-end:6px;font-size:13px;font-weight:500}.dsplit{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;display:grid}.dpair{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px;display:grid}.dmore{margin-block-start:-4px}.dcount{border-radius:var(--app-radius-pill);background:var(--app-surface-muted);place-items:center;min-width:28px;height:24px;padding:0 8px;font-size:13px;font-weight:600;display:inline-grid}.dcount--alert{background:var(--d-stuck-bg);color:var(--app-status-danger)}.dlive{border-radius:var(--app-radius-pill);background:var(--d-stuck-bg);color:var(--app-status-danger);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:6px;padding:2px 10px 2px 8px;font-size:12px;font-weight:600;display:inline-flex}.dlive:before{content:"";background:var(--d-stuck);border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite dbeat}.dglyph{flex-shrink:0;overflow:visible}.dglyph circle{fill:var(--d-empty)}.dglyph path{fill:none;stroke:var(--d-ink);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.dglyph--done circle{fill:var(--d-done)}.dglyph--working circle{fill:var(--d-working)}.dglyph--stuck circle{fill:var(--d-stuck)}.dglyph--stuck path{stroke:#fff}.dglyph--empty circle{fill:var(--d-surface);stroke:var(--app-border-strong);stroke-width:1.5px}.dchip,.drag{border-radius:var(--app-radius-pill);white-space:nowrap;color:var(--d-ink);background:var(--d-empty-bg);flex-shrink:0;align-items:center;gap:6px;padding:3px 10px 3px 4px;font-size:12.5px;font-weight:500;line-height:1.4;display:inline-flex}.dchip--done,.drag--green{background:var(--d-done-bg)}.dchip--working,.drag--amber{background:var(--d-working-bg)}.dchip--stuck,.drag--red{background:var(--d-stuck-bg)}.drag--lg{padding:6px 14px 6px 6px;font-size:15px}.dchip.is-live .dglyph{animation:2s ease-in-out infinite dbeat}.dtrend{color:var(--d-muted);white-space:nowrap;align-items:center;gap:4px;font-size:12.5px;display:inline-flex}.dtrend svg path{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.dtrend--up{color:var(--app-status-danger)}.dreasons,.drisks,.ddecisions,.dlist,.dchecks,.denvs,.difaces,.drun-summary,.dtimeline ol,.drun-rows{margin:0;padding:0;list-style:none}.dreasons{gap:12px;display:grid}.dreasons li,.dchecks li{color:var(--d-muted);grid-template-columns:16px minmax(0,1fr);align-items:start;gap:10px;font-size:14px;line-height:1.45;display:grid}.dreasons li .dglyph,.dchecks li .dglyph{margin-block-start:2px}.dreasons strong,.dchecks strong{color:var(--d-ink);font-weight:500;display:block}.dchecks{gap:10px;display:grid}.drisks,.ddecisions,.dlist{display:grid}.drisks li,.ddecisions li,.dlist li{border-block-end:1px solid var(--d-line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding-block:11px;display:grid}.dlist li{grid-template-columns:minmax(0,1fr) auto}.drisks li:last-child,.ddecisions li:last-child,.dlist li:last-child{border-block-end:0}.ddecisions li{grid-template-columns:auto minmax(0,1fr);align-items:start}.drisk-main,.ddecisions li>span:last-child{gap:2px;min-width:0;font-size:13px;display:grid}.drisk-title{color:var(--d-ink);font-size:14px;font-weight:500;line-height:1.4}.dscore{width:36px;height:36px;color:var(--d-ink);background:var(--d-empty-bg);border-radius:10px;place-items:center;font-size:15px;font-weight:600;display:grid}.dscore--high{background:var(--d-stuck-bg);color:var(--app-status-danger)}.dscore--medium{background:var(--d-working-bg);color:var(--app-status-warning)}.dscore--low{background:var(--d-done-bg);color:var(--app-status-success)}.ddue{background:var(--app-brand-soft);text-transform:uppercase;letter-spacing:.04em;border-radius:10px;justify-items:center;min-width:58px;padding:6px 8px;font-size:11px;line-height:1.2;display:grid}.ddue strong{text-transform:none;letter-spacing:0;color:var(--app-brand-hover);font-size:14px}.ddue .dmuted{color:var(--app-brand-hover)}.dlegend{color:var(--d-muted);flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.dlegend li{align-items:center;gap:6px;display:inline-flex}.dlegend strong{color:var(--d-ink);font-weight:600}.dkey{flex-shrink:0;display:inline-block}.dkey--rect{background:var(--d-empty);border-radius:3px;width:10px;height:10px}.dkey--line{background:var(--d-baseline);border-radius:1px;width:14px;height:2px}.dseg--done{background:var(--d-done)}.dseg--working{background:var(--d-working)}.dseg--stuck{background:var(--d-stuck)}.dseg--empty{background:var(--d-empty)}.dseg--ramp1{background:var(--d-ramp-1)}.dseg--ramp2{background:var(--d-ramp-2)}.dseg--ramp3{background:var(--d-ramp-3)}.dseg--accent{background:var(--d-accent)}.dseg--muted{background:var(--d-baseline)}@media (hover:hover){[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);z-index:10;color:#fff;white-space:normal;text-align:start;pointer-events:none;background:#1f2240;border-radius:8px;width:max-content;max-width:240px;padding:6px 10px;font-size:12px;font-weight:500;line-height:1.4;position:absolute;bottom:calc(100% + 6px);left:50%;translate:-50%;box-shadow:0 10px 24px -10px #0006}}.dbars{gap:12px;display:grid}.dbar-row{grid-template-columns:minmax(96px,.42fr) minmax(0,1fr) minmax(56px,auto);align-items:center;gap:12px;display:grid}.dbar-label{color:var(--d-ink);font-size:13px;line-height:1.3}.dbar-value{color:var(--d-muted);text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12.5px;font-weight:500}.dstack-clip{border-radius:4px;display:block;overflow:hidden}.dstack-bar{gap:2px;height:14px;display:flex}.dstack-seg{min-width:3px}.dmeters{gap:12px;min-width:0;display:grid}.dmeters--tight{gap:9px}.dmeter{--fill:var(--d-accent);--track:var(--d-ramp-track);grid-template-columns:minmax(84px,.55fr) minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.dmeter-label{font-size:13px;line-height:1.3}.dmeter-track{background:var(--track);border-radius:5px;height:10px;position:relative;overflow:hidden}.dmeter-fill{background:var(--fill);transform:translateX(calc((var(--v) - 1) * 100%));transition:transform .9s var(--d-ease) calc(var(--ci,0) * 70ms + .12s);border-radius:0 5px 5px 0;position:absolute;inset:0}.dmeter-target{background:var(--d-ink);width:2px;margin-inline-start:-1px;position:absolute;top:0;bottom:0}.dmeter-value{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:52px;font-size:13px;font-weight:600}.dmeter.dtone--done{--fill:var(--d-done);--track:var(--d-track)}.dmeter.dtone--working{--fill:var(--d-working);--track:var(--d-track)}.dmeter.dtone--stuck{--fill:var(--d-stuck);--track:var(--d-track)}.dmeter.dramp--1{--fill:var(--d-ramp-1)}.dmeter.dramp--2{--fill:var(--d-ramp-2)}.dmeter.dramp--3{--fill:var(--d-ramp-3)}.dmeter.dramp--4{--fill:var(--d-ramp-4)}.dcols{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:stretch;gap:8px;padding-block-start:4px;display:grid}.dcol{grid-template-rows:auto minmax(0,1fr) auto;justify-items:center;gap:6px;min-width:0;display:grid}.dcol-value{font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.dcol-slot{border-block-end:1px solid var(--app-border-mid);border-radius:4px 4px 0 0;width:24px;height:100%;position:relative;overflow:hidden}.dcol-bar{background:var(--d-accent);transform:translateY(calc((1 - var(--v)) * 100%));transition:transform .9s var(--d-ease) calc(var(--ci,0) * 80ms + .12s);border-radius:4px 4px 0 0;position:absolute;inset:0}.dcol-label{color:var(--d-muted);text-align:center;font-size:11.5px;line-height:1.2}.dring,.dgauge{--fill:var(--d-accent)}.dtone--done{--fill:var(--d-done)}.dtone--working{--fill:var(--d-working)}.dtone--stuck{--fill:var(--d-stuck)}.dtone--empty{--fill:var(--d-empty)}.dring{flex-shrink:0}.dring-figure{aspect-ratio:1;position:relative}.dring svg{width:100%;height:100%;display:block;transform:rotate(-90deg)}.dring circle{fill:none;stroke-width:9px}.dring-track{stroke:var(--d-track)}.dring-fill{stroke:var(--fill);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--v));transition:stroke-dashoffset 1.2s var(--d-ease) .15s}.dring-readout{text-align:center;place-content:center;justify-items:center;gap:0;display:grid;position:absolute;inset:0}.dring-readout strong{letter-spacing:-.02em;font-size:26px;font-weight:500;line-height:1.1}.dring-readout span{max-width:9em;color:var(--d-muted);font-size:11.5px;line-height:1.25}.dgauge{justify-items:center;gap:10px;display:grid}.dgauge-figure{width:min(100%,240px);position:relative}.dgauge-figure>svg{width:100%;height:auto;display:block;overflow:visible}.dgauge-figure path{fill:none;stroke-width:14px;stroke-linecap:round}.dgauge-track{stroke:var(--d-track)}.dgauge-fill{stroke:var(--fill);stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--v));transition:stroke-dashoffset 1.3s var(--d-ease) .15s}.dgauge-needle{transform-origin:100px 100px;transform:rotate(var(--deg));transition:transform 1.4s cubic-bezier(.34,1.36,.64,1) .15s}.dgauge-needle line{stroke:var(--d-ink);stroke-width:3px;stroke-linecap:round}.dgauge-needle circle{fill:var(--d-ink);stroke:var(--d-surface);stroke-width:3px}.dgauge-readout{justify-items:center;margin-block-start:4px;display:grid}.dgauge-readout strong{letter-spacing:-.03em;font-size:36px;font-weight:500;line-height:1}.dgauge-readout span{color:var(--d-muted);font-size:12.5px}.dgauge-meta{text-align:center;justify-items:center;gap:8px;display:grid}.dgauge-meta p{font-size:13px;line-height:1.45}.dline-wrap{gap:10px;min-width:0;display:grid}.dline-figure{width:100%;position:relative}.dline-figure svg{display:block;position:absolute;inset:0;overflow:visible}.dgrid-line line{stroke:var(--d-line);stroke-width:1px}.dgrid-line text,.dx-label{fill:var(--d-muted);font-variant-numeric:tabular-nums;font-size:11.5px}.dtarget line{stroke:var(--d-stuck);stroke-width:1.5px}.dtarget text{fill:var(--app-status-danger);font-size:11.5px;font-weight:600}.dpath{fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}.dseries--accent .dpath{stroke:var(--d-accent)}.dseries--muted .dpath{stroke:var(--d-baseline)}.darea{fill:var(--d-accent);opacity:.1}.dend{stroke:var(--d-surface);stroke-width:2px}.dseries--accent .dend,.dcross .dseries--accent{fill:var(--d-accent)}.dseries--muted .dend,.dcross .dseries--muted{fill:var(--d-baseline)}.dcross circle{stroke:var(--d-surface);stroke-width:2px}.dend-label{fill:var(--d-ink);font-size:12px;font-weight:600}.dseries--muted .dend-label{fill:var(--d-muted);font-weight:500}.dcross line{stroke:var(--d-ink);stroke-width:1px;opacity:.35}.dhit{fill:#0000;cursor:crosshair}.dtooltip{z-index:5;color:#fff;pointer-events:none;background:#1f2240;border-radius:10px;gap:4px;min-width:140px;padding:8px 10px;font-size:12px;line-height:1.35;display:grid;position:absolute;translate:8px;box-shadow:0 12px 28px -12px #00000080}.dtooltip-x{color:#c3c6d4}.dtooltip-row{align-items:center;gap:6px;display:flex}.dtooltip-row strong{font-weight:600}.dtooltip .dseg--muted{background:#c3c6d4}.dtooltip .dseg--accent{background:#7bb2fd}.dmatrix-wrap,.dutil-wrap{gap:12px;min-width:0;display:grid}.dmatrix{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);gap:6px 8px;display:grid}.dmatrix-axis{letter-spacing:.06em;text-transform:uppercase;color:var(--d-muted);font-size:11px}.dmatrix-axis--y{writing-mode:vertical-rl;align-self:center;transform:rotate(180deg)}.dmatrix-axis--x{text-align:center;grid-column:2}.dmatrix-grid{gap:4px;display:grid}.dmatrix-row{grid-template-columns:64px repeat(4,minmax(0,1fr));gap:4px;display:grid}.dmatrix-rlabel,.dmatrix-clabel{color:var(--d-muted);font-size:11.5px;line-height:1.2}.dmatrix-rlabel{align-self:center}.dmatrix-clabel{text-align:center}.dcell{font-variant-numeric:tabular-nums;min-height:34px;color:var(--d-ink);border-radius:6px;place-items:center;font-size:13px;font-weight:600;display:grid}.dzone--low{background:var(--d-done-bg)}.dzone--medium{background:var(--d-working-bg)}.dzone--high{background:var(--d-stuck-bg)}.dcell.is-zero{opacity:.55}.dmatrix-wrap .dlegend .dzone--low{background:#b7ebcf}.dmatrix-wrap .dlegend .dzone--medium{background:#fbdca0}.dmatrix-wrap .dlegend .dzone--high{background:#fbbdb8}.dutil{grid-template-columns:minmax(120px, .9fr) repeat(var(--cols), minmax(0, 1fr));gap:4px;display:grid}.dutil-row{display:contents}.dutil-week{color:var(--d-muted);text-align:center;font-size:11.5px}.dutil-role{align-self:center;font-size:13px;line-height:1.25}.dutil .dcell{min-height:30px;font-size:12px}.dheat--1{background:var(--d-heat-1)}.dheat--2{background:var(--d-heat-2)}.dheat--3{background:var(--d-heat-3);color:#fff}.dheat--4{background:var(--d-heat-4);color:#fff}.dheat--5{background:var(--d-heat-5);color:#fff}.dlegend--scale .dkey--rect{width:18px}.difaces{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:10px;display:grid}.diface{border:1px solid var(--d-line);background:var(--d-surface);border-radius:12px;align-content:start;justify-items:start;gap:8px;padding:12px 12px 12px 15px;display:grid;position:relative;overflow:hidden}.diface:before{content:"";background:var(--fill);width:4px;position:absolute;inset:0 auto 0 0}.diface-top{justify-content:space-between;gap:8px;width:100%;display:flex}.diface-id{color:var(--d-muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.diface-name{font-size:13.5px;font-weight:500;line-height:1.35}.denvs{gap:10px;display:grid}.denvs li{border:1px solid var(--d-line);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name chip""note issues";gap:4px 12px;padding:12px 14px;display:grid}.denv-name{grid-area:name;gap:1px;display:grid}.denv-name strong{font-size:14px;font-weight:600}.denv-note{color:var(--d-muted);grid-area:note}.denvs .dchip{grid-area:chip;justify-self:end}.denv-issues{color:var(--d-muted);font-variant-numeric:tabular-nums;grid-area:issues;justify-self:end}.draid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;display:grid}.draid div{background:var(--app-surface-muted);border-radius:10px;gap:0;padding:8px 10px;display:grid}.draid dt{color:var(--d-muted);font-size:12px}.draid dd{margin:0;font-size:22px;font-weight:500;line-height:1.2}.dtimeline{padding-block:4px 2px;position:relative}.dtimeline-track{top:16px;left:calc(50% / var(--n));right:calc(50% / var(--n));background:var(--d-track);border-radius:2px;height:3px;position:absolute;overflow:hidden}.dtimeline-fill{background:linear-gradient(90deg, var(--d-done), var(--d-accent));transform-origin:0;transform:scaleX(var(--v));transition:transform 1.2s var(--d-ease) .2s;position:absolute;inset:0}.dtimeline ol{grid-template-columns:repeat(var(--n), minmax(0, 1fr));gap:8px;display:grid;position:relative}.dms{text-align:center;justify-items:center;gap:4px;display:grid}.dms-dot{background:var(--d-surface);width:32px;height:32px;box-shadow:0 0 0 1px var(--d-line);border-radius:50%;place-items:center;display:grid;position:relative}.dms-dot .dglyph{width:22px;height:22px}.dms-dot.is-live:after{content:"";border:2px solid var(--d-working);border-radius:50%;animation:2.2s ease-out infinite dripple;position:absolute;inset:-3px}.dms-name{margin-block-start:6px;font-size:13.5px;font-weight:500;line-height:1.3}.dms-date{color:var(--d-muted);font-size:12.5px}.dms-status{letter-spacing:.04em;text-transform:uppercase;color:var(--d-muted);font-size:11.5px;font-weight:600}.dms-status--late{color:var(--app-status-danger)}.dms-status--in_progress{color:var(--app-status-warning)}.dms-status--done{color:var(--app-status-success)}.drun-summary{flex-wrap:wrap;gap:6px;display:flex}.drunbook{gap:6px;min-width:0;display:grid}.drun-axis,.drun-row{grid-template-columns:minmax(170px,.8fr) minmax(0,1.2fr) 18px;align-items:center;gap:12px;display:grid}.drun-scale{height:38px;position:relative}.drun-scale>span{color:var(--d-muted);font-variant-numeric:tabular-nums;font-size:11px;position:absolute;bottom:0;translate:-50%}.drun-scale>.drun-now-label{border-radius:var(--app-radius-pill);background:var(--d-ink);color:#fff;white-space:nowrap;padding:2px 8px;font-size:11px;font-weight:600;top:0;bottom:auto}.drun-rows{display:grid}.drun-row{border-block-start:1px solid var(--d-line);padding-block:7px}.drun-label-col{gap:1px;min-width:0;display:grid}.drun-name{font-size:13px;font-weight:500;line-height:1.3}.drun-id{color:var(--d-muted);font-variant-numeric:tabular-nums;font-weight:600}.drun-owner{color:var(--d-muted);font-size:11.5px}.drun-lane{height:26px;position:relative}.drun-lane:before{content:"";background:var(--d-line);height:1px;position:absolute;top:50%;left:0;right:0}.drun-nowline{background:var(--d-ink);opacity:.8;z-index:1;width:2px;margin-inline-start:-1px;position:absolute;top:-8px;bottom:-8px}.drun-slot{border-radius:4px;min-width:6px;position:absolute;top:6px;bottom:6px;overflow:hidden}.drun-bar{background:var(--fill);border-radius:4px;position:absolute;inset:0;overflow:hidden}.drun-bar.is-live:after{content:"";background:linear-gradient(90deg,#0000,#ffffffa6,#0000);animation:2.4s ease-in-out infinite dshimmer;position:absolute;inset:0;transform:translate(-100%)}.drun-status{place-items:center;display:grid}.dverdict{background:var(--d-empty-bg);border-radius:12px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;padding:12px 14px;display:grid}.dverdict.dtone--done{background:var(--d-done-bg)}.dverdict.dtone--working{background:var(--d-working-bg)}.dverdict.dtone--stuck{background:var(--d-stuck-bg)}.dverdict .dglyph{width:22px;height:22px}.dverdict>span{display:grid}.dverdict strong{font-size:16px;font-weight:600}.dport th,.dport td{border-block-end:1px solid var(--d-line);text-align:start;vertical-align:middle;padding:12px 10px;font-size:13.5px}.dport thead th,.dgates thead th{letter-spacing:.04em;text-transform:uppercase;color:var(--d-muted);font-size:12px;font-weight:500}.dport tbody th{font-weight:400}.dport tbody tr:last-child>*{border-block-end:0}.dport tr.is-selected>*,.dgates tr.is-selected>*{background:var(--app-brand-soft)}.dport-prog{align-items:center;gap:12px;display:flex}.dport-prog>span:last-child{display:grid}.dport-prog strong{font-weight:500}.dport-note{margin-block-start:4px}.ddiv{align-items:center;gap:10px;display:inline-flex}.ddiv-track{background:var(--d-track);border-radius:4px;width:96px;height:8px;position:relative;overflow:hidden}.ddiv-track:before{content:"";background:var(--app-border-strong);z-index:1;width:1px;position:absolute;top:-2px;bottom:-2px;left:50%}.ddiv-fill{width:50%;transition:transform .9s var(--d-ease) .2s;position:absolute;top:0;bottom:0}.ddiv-fill--bad{background:var(--d-stuck);transform-origin:0;transform:scaleX(var(--v));border-radius:0 4px 4px 0;left:50%}.ddiv-fill--good{background:var(--d-ramp-2);transform-origin:100%;transform:scaleX(var(--v));border-radius:4px 0 0 4px;right:50%}.ddiv-text{font-variant-numeric:tabular-nums;white-space:nowrap;min-width:64px;font-weight:500}.dgates th,.dgates td{border-block-end:1px solid var(--d-line);text-align:start;vertical-align:middle;padding:8px 6px}.dgates tbody tr:last-child>*{border-block-end:0}.dgates tbody th{align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.dgates .dmark{border-radius:8px;width:28px;height:28px;font-size:11px}.dgate{border-radius:var(--app-radius-pill);background:var(--d-empty-bg);white-space:nowrap;align-items:center;gap:5px;padding:3px 8px 3px 3px;font-size:12px;font-weight:500;display:inline-flex}.dgate.dtone--done{background:var(--d-done-bg)}.dgate.dtone--working{background:var(--d-working-bg)}.dgate.dtone--stuck{background:var(--d-stuck-bg)}.demo-cta{background:var(--d-canvas);padding-block-start:24px}.demo-cta-card{text-align:center;border-radius:var(--app-radius-panel);background:var(--site-navy);color:#fff;justify-items:center;gap:18px;padding:clamp(40px,6vw,80px) 24px;display:grid;position:relative;overflow:hidden}.demo-cta-card:before{content:"";pointer-events:none;background:radial-gradient(50% 50% at 30%,#6161ff73,#0000 70%),radial-gradient(40% 50% at 75% 40%,#0073ea59,#0000 70%);height:120%;position:absolute;inset:-40% -10% auto}.demo-cta-card>*{position:relative}.demo-cta-title{letter-spacing:-.04em;color:#fff;max-width:18ch;font-size:clamp(34px,5vw,64px);font-weight:500;line-height:1.05}.demo-cta-text{color:#d5d8df;max-width:34em}.demo-cta-actions{justify-content:center}.demo-btn-outline{color:#fff;background:0 0;border-color:#fff}.demo-btn-outline:hover{color:var(--app-ink);background:#fff}[data-demo-motion] .dcard:not(.is-in),[data-demo-motion] .dkpis:not(.is-in) .dkpi{opacity:0;transform:translateY(16px)}[data-demo-motion] .dcard.is-in{animation:dcard-in .7s var(--d-ease) both;animation-delay:calc(var(--ci,0) * 70ms)}[data-demo-motion] .dkpis.is-in .dkpi{animation:dcard-in .6s var(--d-ease) both;animation-delay:calc(var(--ci,0) * 60ms)}[data-demo-motion] .dcard:not(.is-in) .dmeter-fill{transform:translate(-100%)}[data-demo-motion] .dcard:not(.is-in) .dcol-bar{transform:translateY(100%)}[data-demo-motion] .dcard:not(.is-in) .ddiv-fill,[data-demo-motion] .dcard:not(.is-in) .dtimeline-fill{transform:scaleX(0)}[data-demo-motion] .dring:not(.is-in) .dring-fill,[data-demo-motion] .dgauge:not(.is-in) .dgauge-fill{stroke-dashoffset:100px}[data-demo-motion] .dgauge:not(.is-in) .dgauge-needle{transform:rotate(-90deg)}[data-demo-motion] .dcard:not(.is-in) .dstack-bar,[data-demo-motion] .dcard:not(.is-in) .drun-bar{transform:translate(-101%)}[data-demo-motion] .dcard.is-in .dstack-bar{animation:dgrow-x .9s var(--d-ease) both;animation-delay:calc(var(--ci,0) * 70ms + .14s)}[data-demo-motion] .dcard.is-in .drun-bar{animation:dgrow-x .8s var(--d-ease) both;animation-delay:calc(var(--ci,0) * 90ms + .2s)}[data-demo-motion] .dcard:not(.is-in) .dpath{stroke-dashoffset:1px}[data-demo-motion] .dcard.is-in .dpath{animation:ddraw 1.3s var(--d-ease) both .15s}[data-demo-motion] .dcard:not(.is-in) .darea,[data-demo-motion] .dcard:not(.is-in) .dend,[data-demo-motion] .dcard:not(.is-in) .dend-label{opacity:0}[data-demo-motion] .dcard.is-in .darea{animation:1s .6s both dfade-area}[data-demo-motion] .dcard.is-in .dend,[data-demo-motion] .dcard.is-in .dend-label{animation:.4s 1.25s both dfade}[data-demo-motion] .dcard:not(.is-in) .dcell,[data-demo-motion] .dcard:not(.is-in) .dgate,[data-demo-motion] .dcard:not(.is-in) .diface{opacity:0}[data-demo-motion] .dcard.is-in .dcell,[data-demo-motion] .dcard.is-in .dgate{animation:dcell-in .5s var(--d-ease) both;animation-delay:calc(var(--ci,0) * 24ms + .16s)}[data-demo-motion] .dcard.is-in .diface{animation:dcell-in .5s var(--d-ease) both;animation-delay:calc(var(--ci,0) * 45ms + .12s)}[data-demo-motion] .dcard:not(.is-in) .dms,[data-demo-motion] .dcard:not(.is-in) .drun-row,[data-demo-motion] .dcard:not(.is-in) .dport tbody tr{opacity:0}[data-demo-motion] .dcard.is-in .dms{animation:dslide .6s var(--d-ease) both;animation-delay:calc(var(--ci,0) * 90ms + .15s)}[data-demo-motion] .dcard.is-in .drun-row,[data-demo-motion] .dcard.is-in .dport tbody tr{animation:dslide .55s var(--d-ease) both;animation-delay:calc(var(--ci,0) * 60ms + .12s)}@keyframes dcard-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes dgrow-x{0%{transform:translate(-101%)}to{transform:none}}@keyframes ddraw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes dfade{0%{opacity:0}to{opacity:1}}@keyframes dfade-area{0%{opacity:0}to{opacity:.1}}@keyframes dcell-in{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}@keyframes dslide{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:none}}@keyframes dbeat{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}@keyframes dripple{0%{opacity:.9;transform:scale(.8)}to{opacity:0;transform:scale(1.45)}}@keyframes dshimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.demo *,.demo :before,.demo :after{transition:none!important;animation:none!important}.dcard:hover,.dopt:hover{translate:none}}@media (max-width:1279px){.dprogrammes{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:959px){.demo-hero-grid{grid-template-columns:minmax(0,1fr)}.demo-hero-media{max-width:600px}}@media (max-width:1079px){.demo-role-grid,.dgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.dcard{grid-column:span 1}.dcard--wide{grid-column:1/-1}.dkpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dctx{grid-template-columns:minmax(0,1fr);align-items:start}.dpair{grid-template-columns:minmax(0,1fr)}}@media (max-width:767px){.demo-hero{padding-block:24px 16px}.demo-hero-media{display:none}.demo-roles{padding-block-end:40px}.demo-role-grid{grid-template-columns:minmax(0,1fr);gap:12px}.demo-role{--demo-role-pad-block:20px;--demo-role-pad-inline:16px}.demo-role-photo{aspect-ratio:1;object-position:50% 16%;border-radius:50%;width:64px;margin:0 0 4px}.demo-role-icon{display:none}.dgrid{grid-template-columns:minmax(0,1fr);gap:12px}.dcard,.dcard--wide{grid-column:1/-1;padding:16px 14px 12px}.dkpis{gap:10px;margin-block-end:12px}.dkpi{padding:14px}.dkpi-value{font-size:26px}.dprogrammes{margin-inline:calc(-1 * var(--site-gutter));padding:4px var(--site-gutter) 10px;scroll-snap-type:x mandatory;scroll-padding-inline:var(--site-gutter);scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.dprogrammes::-webkit-scrollbar{display:none}.dprogrammes .dopt{--dopt-pad:10px;scroll-snap-align:start;flex:0 0 214px}.dprogrammes .dmark{width:30px;height:30px;font-size:12px}.dpersonas{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dpersonas .dopt{border-radius:14px;padding:6px 10px 6px 6px;font-size:13.5px}.dctx{border-radius:var(--app-radius-card);padding:20px 16px 16px}.dsplit{grid-template-columns:minmax(0,1fr);justify-items:center}.dsplit .dmeters,.dsplit .dchecks{width:100%}.dbar-row{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}.dbar-row .dstack{grid-area:2/1/auto/-1}.dmeter{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}.dmeter-track{grid-area:2/1/auto/-1}.dmeter-label{grid-row:1}.dmeter-value{grid-area:1/2}.draid dd{font-size:18px}.dmatrix-row{grid-template-columns:54px repeat(4,minmax(0,1fr))}.dtimeline-track{display:none}.dtimeline ol{grid-template-columns:minmax(0,1fr);gap:0}.dms{text-align:start;border-block-end:1px solid var(--d-line);grid-template-columns:32px minmax(0,1fr) auto;grid-template-areas:"dot name status""dot date status";justify-items:start;column-gap:12px;padding-block:8px}.dms:last-child{border-block-end:0}.dms-dot{grid-area:dot}.dms-name{grid-area:name;margin:0}.dms-date{grid-area:date}.dms-status{grid-area:status;align-self:center}.drun-axis{grid-template-columns:minmax(0,1fr) 18px}.drun-axis .drun-label-col{display:none}.drun-row{grid-template-columns:minmax(0,1fr) 18px;row-gap:6px}.drun-row .drun-label-col{grid-column:1/-1}.drun-row .drun-lane{grid-column:1}.dutil{grid-template-columns:minmax(84px, 1fr) repeat(var(--cols), minmax(0, 1fr));gap:3px}.dutil-role{font-size:11.5px}.dutil .dcell{min-height:26px;font-size:10px}.dutil-week{font-size:10px}.dport thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.dport tr{border-block-end:1px solid var(--d-line);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px;padding-block:12px;display:grid}.dport tbody tr:last-child{border-block-end:0}.dport th,.dport td{border:0;gap:2px;padding:0;display:grid}.dport tbody th{grid-column:1/-1}.dport td>.drag{justify-self:start}.dport tr.is-selected{background:var(--app-brand-soft);border-radius:12px;margin-inline:-10px;padding-inline:10px}.dport tr.is-selected>*{background:0 0}.dport td:before{content:attr(data-label);letter-spacing:.04em;text-transform:uppercase;color:var(--d-muted);font-size:11px}.ddiv-track{width:64px}.dgates th,.dgates td{padding:6px 3px}.dgates thead th{letter-spacing:0;font-size:10px}.dgates-name{display:none}.dgate{padding:3px}.dgate-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.denvs li{grid-template-columns:minmax(0,1fr);grid-template-areas:"name""note""chip""issues"}.denvs .dchip,.denv-issues{justify-self:start}.difaces{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.diface{padding:10px 10px 10px 13px}.diface-name{font-size:12.5px}.demo-cta-card{padding-inline:16px}}
