@font-face{font-family:"Outfit";src:url(fonts/outfit-var.woff2) format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:"Work Sans";src:url(fonts/worksans-var.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--c-blue: var(--viz-1);--c-green: var(--viz-2);--c-purple: var(--viz-3);--c-yellow: var(--viz-4);--c-red: var(--viz-5);--c-grey: var(--viz-other);--c-blue-tint: var(--blue-tint);--c-green-tint: var(--green-tint);--c-purple-tint: var(--purple-tint);--c-yellow-tint: var(--yellow-tint);--c-red-tint: var(--red-tint);--c-grey-tint: var(--surface-sunk);--font-num: "Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;--font-ui: "Work Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--r-xl: 28px;--r-lg: 22px;--r-md: 16px;--r-sm: 12px;--r-pill: 999px;--e1: 0 1px 2px rgba(18, 22, 27, .05), 0 4px 12px -4px rgba(18, 22, 27, .10);--e2: 0 2px 4px rgba(18, 22, 27, .05), 0 14px 30px -12px rgba(18, 22, 27, .18);--e3: 0 6px 14px rgba(18, 22, 27, .06), 0 30px 60px -24px rgba(18, 22, 27, .28);--ease: cubic-bezier(.2, .9, .25, 1);--header-h: 60px;--tab-h: 64px;--gutter: 16px;--shadow-top: 0 6px 16px -10px rgba(18, 22, 27, .25);--shadow-tab: 0 -8px 24px -16px rgba(18, 22, 27, .25);--shadow-sheet: 0 -20px 50px -20px rgba(18, 22, 27, .5);--scrim: rgba(12, 13, 16, .48);--scrim-off: rgba(12, 13, 16, 0)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--e1: 0 1px 2px rgba(0,0,0,.4), 0 4px 12px -4px rgba(0,0,0,.5);--e2: 0 2px 4px rgba(0,0,0,.4), 0 14px 30px -12px rgba(0,0,0,.6);--e3: 0 6px 14px rgba(0,0,0,.4), 0 30px 60px -24px rgba(0,0,0,.7);--shadow-top: 0 6px 16px -10px rgba(0, 0, 0, .7);--shadow-tab: 0 -8px 24px -16px rgba(0, 0, 0, .7);--shadow-sheet: 0 -20px 50px -20px rgba(0, 0, 0, .8);--scrim: rgba(0, 0, 0, .62);--scrim-off: rgba(0, 0, 0, 0)}}:root[data-theme=dark]{--e1: 0 1px 2px rgba(0,0,0,.4), 0 4px 12px -4px rgba(0,0,0,.5);--e2: 0 2px 4px rgba(0,0,0,.4), 0 14px 30px -12px rgba(0,0,0,.6);--e3: 0 6px 14px rgba(0,0,0,.4), 0 30px 60px -24px rgba(0,0,0,.7);--shadow-top: 0 6px 16px -10px rgba(0, 0, 0, .7);--shadow-tab: 0 -8px 24px -16px rgba(0, 0, 0, .7);--shadow-sheet: 0 -20px 50px -20px rgba(0, 0, 0, .8);--scrim: rgba(0, 0, 0, .62);--scrim-off: rgba(0, 0, 0, 0)}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--page)}body{margin:0;min-height:100dvh;background:var(--page);color:var(--ink);font-family:var(--font-ui);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body.sheet-open{overflow:hidden}h1,h2,h3{margin:0;font-family:var(--font-num);line-height:1.2;letter-spacing:-.02em;color:var(--ink)}p{margin:0}button{font:inherit;color:inherit}a{color:var(--blue-ink)}:focus-visible{outline:3px solid var(--blue-ink);outline-offset:2px;border-radius:8px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.hide{display:none!important}.num{font-family:var(--font-num);letter-spacing:-.02em}.app{min-height:100dvh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;height:calc(var(--header-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--gutter) 0;display:flex;align-items:center;gap:10px;background:var(--page);transition:box-shadow .2s var(--ease)}.topbar.lifted{box-shadow:0 1px 0 var(--line),var(--shadow-top)}.hello{flex:1 1 auto;min-width:0}.hello-name{font-family:var(--font-num);font-size:19px;font-weight:700;line-height:1.2;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{width:44px;height:44px;border-radius:var(--r-pill);flex:none;border:0;cursor:pointer;display:grid;place-items:center;background:var(--blue-solid);color:var(--on-blue-solid);font-family:var(--font-num);font-weight:700;font-size:17px}.icon-btn{position:relative;width:48px;height:48px;border-radius:var(--r-pill);flex:none;cursor:pointer;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);transition:background .15s var(--ease),transform .15s var(--ease)}.icon-btn:active{transform:scale(.94)}.dot-badge{position:absolute;top:4px;right:4px;min-width:20px;height:20px;padding:0 5px;border-radius:var(--r-pill);background:var(--alert-bg);color:var(--alert-fg);font:700 12px/20px var(--font-ui);text-align:center;border:2px solid var(--page)}.live{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-3);line-height:1.3;white-space:nowrap;max-width:100%;min-width:0}.live>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.live .ico{width:14px;height:14px;flex:none}.live i{width:8px;height:8px;border-radius:50%;background:var(--c-green);flex:none}.live[data-state=loading] i{background:var(--c-blue);animation:pulse 1.2s ease-in-out infinite}.live[data-state=stale] i,.live[data-state=offline] i{background:var(--yellow-solid);box-shadow:0 0 0 1px var(--yellow-edge)}.live[data-state=error] i{background:var(--c-red)}.live[data-state=demo] i{background:var(--c-purple)}@keyframes pulse{50%{opacity:.35}}@media(max-width:359px){.live .ico{display:none}}.main{flex:1 1 auto;width:100%;max-width:560px;margin:0 auto;padding:4px var(--gutter) calc(var(--tab-h) + 32px + env(safe-area-inset-bottom))}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface);border-top:1px solid var(--line);box-shadow:var(--shadow-tab)}.tab{position:relative;border:0;background:transparent;cursor:pointer;color:var(--ink-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:500 12px/16px var(--font-ui);min-height:56px;text-decoration:none}.tab .ico{width:25px;height:25px}.tab[aria-current=page]{color:var(--blue-ink);font-weight:700}.tab[aria-current=page]::before{content:"";position:absolute;top:0;left:26%;right:26%;height:3px;border-radius:0 0 3px 3px;background:var(--blue-solid)}.tab .dot-badge{top:5px;right:calc(50% - 26px)}.tab .tab-dot{position:absolute;top:8px;right:calc(50% - 19px);width:11px;height:11px;border-radius:50%;background:var(--yellow-solid);border:1.5px solid var(--yellow-edge);box-shadow:0 0 0 2px var(--surface)}.banner{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--r-md);margin:4px 0 14px;font-size:14.5px;line-height:1.45}.banner b{font-weight:700}.banner .ico{flex:none}.banner-demo{background:var(--purple-tint);color:var(--purple-ink);border:1px dashed var(--purple-ink)}.banner-preview{background:var(--info-bg);color:var(--info-fg)}.banner-stale{background:var(--yellow-tint);color:var(--yellow-ink);border-left:4px solid var(--stale-rule)}.banner-error{background:var(--red-tint);color:var(--red-ink)}.section{margin:22px 0 10px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.section h2{font-size:21px;font-weight:700}.section .more{font-size:14.5px;font-weight:600;color:var(--blue-ink);background:none;border:0;cursor:pointer;min-height:44px;padding:0 4px}.eyebrow{font:700 12px/1.3 var(--font-num);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.card{background:var(--surface);border-radius:var(--r-xl);padding:20px;margin-bottom:14px;box-shadow:var(--e2);border:1px solid var(--line);position:relative;animation:rise .42s var(--ease) both}.card-hero{box-shadow:var(--e3);padding:22px 20px}.card-flat{box-shadow:none}.card h3{font-size:19px;font-weight:700}.card .lede{font-size:16px;line-height:1.5;color:var(--ink-2);margin-top:6px}.card .fine{font-size:13px;line-height:1.45;color:var(--ink-3);margin-top:10px}.center{display:flex;flex-direction:column;align-items:center;text-align:center}@keyframes rise{from{transform:translateY(10px);opacity:.01}to{transform:none;opacity:1}}.stagger>*{animation-delay:calc(var(--i, 0) * 45ms)}.is-absent{border:2px dashed var(--absent-border);box-shadow:none;background:var(--absent-bg)}.is-absent .lede,.is-absent p{color:var(--absent-fg)}.is-locked{border:2px dashed var(--absent-border);box-shadow:none}.is-degraded{border-left:5px solid var(--stale-rule)}.state-tag{display:inline-flex;align-items:center;gap:7px;font:700 12px/1.3 var(--font-num);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.state-tag .ico{width:16px;height:16px}.hero-value{font-family:var(--font-num);font-weight:800;font-size:clamp(46px,14vw,62px);line-height:1;letter-spacing:-.035em;margin:10px 0 4px;color:var(--ink)}.division{display:flex;align-items:stretch;gap:8px;margin-top:14px;padding:12px;border-radius:var(--r-md);background:var(--surface-sunk)}.division>div{flex:1 1 0;min-width:0}.division .v{font:700 19px/1.2 var(--font-num);letter-spacing:-.02em;color:var(--ink)}.division .l{font-size:13px;line-height:1.35;color:var(--ink-2);margin-top:2px}.division .op{flex:0 0 auto;display:grid;place-items:center;font-size:22px;color:var(--ink-3)}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.tile{background:var(--surface);border-radius:var(--r-lg);padding:15px 14px;border:1px solid var(--line);box-shadow:var(--e1);min-height:116px;display:flex;flex-direction:column;gap:2px;animation:rise .42s var(--ease) both}.tile .k{font-size:13.5px;line-height:1.35;color:var(--ink-2);font-weight:500}.tile .v{font:800 32px/1.05 var(--font-num);letter-spacing:-.03em;color:var(--ink);margin-top:4px}.tile .s{margin-top:auto;padding-top:6px;font-size:13px;color:var(--ink-3);line-height:1.35}.tile .bar{height:8px;border-radius:99px;background:var(--surface-sunk);margin-top:10px;overflow:hidden}.tile .bar>i{display:block;height:100%;border-radius:99px}.delta{display:inline-flex;align-items:center;gap:4px;font:700 13px/1 var(--font-ui);padding:5px 9px;border-radius:var(--r-pill)}.delta-good{color:var(--delta-good);background:var(--green-tint)}.delta-bad{color:var(--delta-bad);background:var(--red-tint)}.delta-flat{color:var(--delta-flat);background:var(--surface-sunk)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:600 16px/1.2 var(--font-ui);cursor:pointer;text-decoration:none;transition:transform .12s var(--ease),filter .15s var(--ease),background .15s var(--ease)}.btn:active{transform:scale(.97)}.btn:disabled{cursor:not-allowed;opacity:1;background:var(--surface-sunk);color:var(--ink-3);border-color:var(--line)}.btn .ico{width:20px;height:20px}.btn-primary{background:var(--blue-solid);color:var(--on-blue-solid);border-color:transparent}.btn-good{background:var(--green-solid);color:var(--on-green-solid);border-color:transparent}.btn-bad{background:var(--surface);color:var(--red-ink);border:2px solid var(--red-ink)}.btn-attn{background:var(--yellow-solid);color:var(--on-yellow-solid);border:1px solid var(--yellow-edge)}.btn-purple{background:var(--purple-solid);color:var(--on-purple-solid);border-color:transparent}.btn-ghost{background:transparent;border-color:transparent;color:var(--blue-ink)}.btn-xl{min-height:60px;font-size:17px;border-radius:var(--r-lg)}.btn-block{width:100%}.btn-row{display:flex;gap:10px;flex-wrap:wrap}.btn-row>.btn{flex:1 1 0;min-width:0}.btn-stack{display:flex;flex-direction:column;gap:10px;margin-top:16px}.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.chip-scroll{display:flex;gap:8px;overflow-x:auto;padding:6px;scrollbar-width:none}.chip-scroll::-webkit-scrollbar{display:none}.chip{min-height:48px;padding:0 16px;border-radius:var(--r-pill);border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink);font:600 15.5px/1.2 var(--font-ui);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;flex:none;transition:background .15s var(--ease),transform .12s var(--ease)}.chip:active{transform:scale(.96)}.chip[aria-pressed=true],.chip.on{background:var(--blue-solid);color:var(--on-blue-solid);border-color:transparent}.chip .ico{width:18px;height:18px}.state{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--r-pill);font:700 13px/1.2 var(--font-ui);white-space:nowrap}.state .ico{width:15px;height:15px}.state[data-s=nouveau]{background:var(--state-nouveau-bg);color:var(--state-nouveau-fg)}.state[data-s=soumis]{background:var(--state-soumis-bg);color:var(--state-soumis-fg)}.state[data-s=attente]{background:var(--state-attente-bg);color:var(--state-attente-fg);box-shadow:inset 0 0 0 1px var(--state-attente-edge)}.state[data-s=gagne]{background:var(--state-gagne-bg);color:var(--state-gagne-fg)}.state[data-s=perdu]{background:var(--state-perdu-bg);color:var(--state-perdu-fg)}.state[data-s=relance]{background:var(--state-relance-bg);color:var(--state-relance-fg);box-shadow:inset 0 0 0 1.5px var(--state-relance-edge)}.state[data-s=sans]{background:var(--surface);color:var(--ink-2);box-shadow:inset 0 0 0 1.5px var(--line-strong)}.state[data-s=question]{background:var(--blue-tint);color:var(--blue-ink);box-shadow:inset 0 0 0 1.5px var(--blue-ink)}.stages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;position:sticky;top:calc(var(--header-h) + env(safe-area-inset-top));z-index:20;background:var(--page);padding:6px 0 10px}.stage{border:1.5px solid var(--line);background:var(--surface);border-radius:var(--r-md);cursor:pointer;min-height:64px;padding:6px 0 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;position:relative;overflow:hidden}.stage b{font:800 22px/1.1 var(--font-num);letter-spacing:-.02em;color:var(--ink)}.stage span{font-size:clamp(10px,3.2vw,11.5px);letter-spacing:-.01em;line-height:1.25;color:var(--ink-2);font-weight:600;text-align:center}.stage::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px}.stage[data-s=nouveau]::after{background:var(--viz-1)}.stage[data-s=soumis]::after{background:var(--viz-3)}.stage[data-s=attente]::after{background:var(--yellow-solid);box-shadow:0 -1px 0 var(--yellow-edge)}.stage[data-s=gagne]::after{background:var(--viz-2)}.stage[data-s=perdu]::after{background:var(--viz-5)}.stage[aria-pressed=true]{border-color:var(--ink);box-shadow:var(--e1)}.lead{display:block;width:100%;text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 14px 14px 19px;margin-bottom:10px;box-shadow:var(--e1);position:relative;min-height:92px;animation:rise .38s var(--ease) both}.lead::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:5px;border-radius:0 4px 4px 0;background:var(--line-strong)}.lead[data-s=nouveau]::before{background:var(--viz-1)}.lead[data-s=soumis]::before{background:var(--viz-3)}.lead[data-s=attente]::before{background:var(--yellow-edge)}.lead[data-s=gagne]::before{background:var(--viz-2)}.lead[data-s=perdu]::before{background:var(--viz-5)}.lead-top{display:flex;align-items:baseline;gap:10px}.lead-name{font:700 20px/1.2 var(--font-num);letter-spacing:-.02em;color:var(--ink);flex:1 1 auto;min-width:0}.lead-age{font-size:13.5px;color:var(--ink-3);white-space:nowrap}.lead-meta{font-size:14.5px;color:var(--ink-2);margin-top:2px;line-height:1.4}.lead-foot{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.todo{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.todo:first-child{border-top:0;padding-top:4px}.todo-ico{width:44px;height:44px;border-radius:var(--r-sm);display:grid;place-items:center;flex:none}.todo-ico .ico{width:22px;height:22px}.todo-text{flex:1 1 auto;min-width:0}.todo-text b{display:block;font-size:16px;font-weight:600;line-height:1.3}.todo-text span{display:block;font-size:13.5px;color:var(--ink-3);line-height:1.35;margin-top:1px}.todo .btn{min-height:48px;padding:0 14px;flex:none}.rows{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--e1);overflow:hidden;margin-bottom:14px}.row{display:flex;align-items:center;gap:13px;padding:14px 16px;min-height:64px;border-top:1px solid var(--line);background:transparent;width:100%;text-align:left;border-left:0;border-right:0;border-bottom:0;cursor:default}.rows>:focus-visible{outline-offset:-4px;border-radius:var(--r-sm)}.rows>:first-child:focus-visible{border-top-left-radius:calc(var(--r-xl) - 4px);border-top-right-radius:calc(var(--r-xl) - 4px)}.rows>:last-child:focus-visible{border-bottom-left-radius:calc(var(--r-xl) - 4px);border-bottom-right-radius:calc(var(--r-xl) - 4px)}.row:first-child{border-top:0}button.row{cursor:pointer}.row-ico{width:42px;height:42px;border-radius:var(--r-sm);display:grid;place-items:center;flex:none}.row-ico .ico{width:21px;height:21px}.row-text{flex:1 1 auto;min-width:0}.row-text b{display:block;font-size:16px;font-weight:600;line-height:1.3;color:var(--ink)}.row-text span{display:block;font-size:13.5px;line-height:1.4;color:var(--ink-2);margin-top:2px}.row-end{flex:none;font-size:13px;color:var(--ink-3);text-align:right}.tone-bg-blue{background:var(--blue-tint);color:var(--blue-ink)}.tone-bg-green{background:var(--green-tint);color:var(--green-ink)}.tone-bg-purple{background:var(--purple-tint);color:var(--purple-ink)}.tone-bg-yellow{background:var(--yellow-solid);color:var(--on-yellow-solid)}.tone-bg-red{background:var(--red-tint);color:var(--red-ink)}.tone-bg-grey{background:var(--surface-sunk);color:var(--ink-2)}.switch{width:56px;height:34px;border-radius:99px;border:1.5px solid var(--auto-off-border);background:var(--auto-off-track);position:relative;cursor:pointer;flex:none;transition:background .2s var(--ease)}.switch::after{content:"";position:absolute;top:4px;left:4px;width:23px;height:23px;border-radius:50%;background:var(--auto-off-thumb);transition:transform .2s var(--ease),background .2s var(--ease)}.switch[aria-pressed=true]{background:var(--auto-on-track);border-color:transparent}.switch[aria-pressed=true]::after{transform:translateX(22px);background:var(--auto-on-thumb)}.pill{display:inline-flex;align-items:center;justify-content:center;min-width:44px;padding:5px 11px;border-radius:var(--r-pill);font:800 15px/1.2 var(--font-num)}.pill.tone-blue{background:var(--viz-1);color:var(--on-viz-1)}.pill.tone-green{background:var(--viz-2);color:var(--on-viz-2)}.pill.tone-purple{background:var(--viz-3);color:var(--on-viz-3)}.pill.tone-yellow{background:var(--yellow-solid);color:var(--on-yellow-solid);box-shadow:inset 0 0 0 1px var(--yellow-edge)}.pill.tone-red{background:var(--viz-5);color:var(--on-viz-5)}.pill.tone-grey{background:var(--surface-sunk);color:var(--ink-2)}.chart-svg{display:block;overflow:visible}.chart-svg .grid{stroke:var(--line);stroke-width:1}.chart-svg .axis{stroke:var(--line-strong);stroke-width:1}.chart-svg .tick{fill:var(--ink-3);font:500 12px var(--font-ui)}.chart-svg .cap-label{fill:var(--ink);font:700 13px var(--font-num)}.chart-svg .chart-note{fill:var(--ink-2);font:600 12.5px var(--font-ui)}.chart-svg .crosshair{stroke:var(--ink-3);stroke-width:1}.chart-svg .marker-ring{fill:var(--surface)}.chart-svg .cross-dot{stroke:var(--surface);stroke-width:2}.chart-svg .spark-line{stroke:var(--ink-3)}.chart-svg .gauge-target{stroke:var(--ink)}.chart-svg .bar-seg:focus{outline:none;stroke:var(--ink);stroke-width:2}.chart-plot{position:relative;outline:none;touch-action:pan-y}.chart-frame{position:relative}.chart-tip{position:absolute;top:-6px;left:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .12s;background:var(--ink);color:var(--surface);border-radius:var(--r-sm);padding:8px 11px;font-size:13px;line-height:1.4;box-shadow:var(--e2);min-width:110px}.chart-tip.in{opacity:1}.chart-tip .tip-head{font-weight:600;opacity:.85;margin-bottom:3px}.chart-tip .tip-row{display:flex;align-items:center;gap:7px}.chart-tip strong{font:800 16px/1.2 var(--font-num)}.chart-tip .tip-name{opacity:.85}.key-line{display:inline-block;width:16px;height:3px;border-radius:2px;flex:none}.key-box{display:inline-block;width:12px;height:12px;border-radius:3px;flex:none}.line-legend{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13.5px;color:var(--ink-2)}.line-legend li{display:inline-flex;align-items:center;gap:7px}.ring,.donut{position:relative;margin:6px auto 0}.ring svg,.donut svg{display:block}.ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 22%}.ring-value{font:800 clamp(40px,12vw,54px)/1 var(--font-num);letter-spacing:-.04em;color:var(--ink)}.ring-label{font-size:14px;color:var(--ink-2);margin-top:4px;line-height:1.3}.ring-sub{font-size:12.5px;color:var(--ink-3);margin-top:2px}@media(prefers-reduced-motion:no-preference){.ring-arc{animation:ringDraw 1s var(--ease) .1s backwards}@keyframes ringDraw{from{stroke-dashoffset:var(--ring-len)}}}.gauge{position:relative;max-width:320px;margin:4px auto 0}.gauge svg{display:block;margin:0 auto}.gauge-center{position:absolute;left:0;right:0;bottom:6px;text-align:center}.gauge-value{font:800 40px/1 var(--font-num);letter-spacing:-.03em}.gauge-label{font-size:13.5px;color:var(--ink-2);margin-top:2px}.donut-wrap{display:flex;flex-direction:column;align-items:center;gap:14px}.donut-seg.is-pick{cursor:pointer}.pill-legend{list-style:none;margin:0;padding:0;width:100%}.pill-legend li+li{border-top:1px solid var(--line)}.pill-row{width:100%;display:flex;align-items:center;gap:12px;padding:11px 2px;min-height:52px;background:none;border:0;text-align:left;cursor:pointer}.pill-row:disabled{cursor:default;color:inherit}.pill-name{flex:1 1 auto;font-size:15.5px;color:var(--ink)}.funnel{display:flex;flex-direction:column;gap:6px}.funnel-row{display:grid;grid-template-columns:92px 1fr 34px 44px;align-items:center;gap:8px;min-height:48px;background:none;border:0;padding:0;text-align:left;cursor:pointer;color:inherit}.funnel-row:disabled{cursor:default}.funnel-label{font-size:14px;font-weight:600;color:var(--ink);line-height:1.25}.funnel-track{height:26px;background:var(--surface-sunk);border-radius:7px;overflow:hidden}.funnel-bar{display:block;height:100%;border-radius:0 7px 7px 0}.funnel-value{font:800 18px/1 var(--font-num);text-align:right}.funnel-keep{font-size:12px;color:var(--ink-3);text-align:right}.twin{margin-top:12px;font-size:14px}.twin summary{cursor:pointer;color:var(--blue-ink);font-weight:600;min-height:44px;display:flex;align-items:center;list-style:none}.twin summary::-webkit-details-marker{display:none}.twin summary::before{content:"+";display:inline-grid;place-items:center;width:22px;height:22px;margin-right:8px;border-radius:6px;background:var(--blue-tint);font-weight:800}.twin[open] summary::before{content:"−"}.twin-table{width:100%;border-collapse:collapse;margin-top:6px;font-variant-numeric:tabular-nums}.twin-table th,.twin-table td{padding:8px 6px;border-top:1px solid var(--line);text-align:right}.twin-table th:first-child{text-align:left;font-weight:600}.twin-table thead th{color:var(--ink-3);font-weight:600;font-size:12.5px;border-top:0}.band{display:flex;height:34px;border-radius:9px;overflow:hidden;margin:12px 0 6px}.band-known{background:var(--viz-1)}.band-unknown{flex:1 1 auto;background:repeating-linear-gradient(45deg,var(--surface-sunk) 0 7px,var(--line-strong) 7px 9px);-webkit-mask-image:linear-gradient(90deg,#000 55%,transparent);mask-image:linear-gradient(90deg,#000 55%,transparent)}.band-labels{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-2);gap:10px}.timeline{list-style:none;margin:8px 0 0;padding:0;position:relative}.timeline::before{content:"";position:absolute;left:13px;top:8px;bottom:8px;width:2px;background:var(--line)}.tl{position:relative;display:flex;gap:14px;padding:8px 0}.tl-dot{width:28px;height:28px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--surface);border:2px solid var(--line-strong);z-index:1}.tl-dot .ico{width:15px;height:15px}.tl.done .tl-dot{background:var(--green-solid);border-color:transparent;color:var(--on-green-solid)}.tl.now .tl-dot{background:var(--blue-solid);border-color:transparent;color:var(--on-blue-solid)}.tl.gap .tl-dot{border-style:dashed}.tl-body b{display:block;font-size:15.5px;line-height:1.3}.tl-body span{display:block;font-size:13px;color:var(--ink-3);margin-top:1px}.sheet-back{position:fixed;inset:0;z-index:90;background:var(--scrim-off);display:flex;align-items:flex-end;justify-content:center;transition:background .22s var(--ease)}.sheet-back.in{background:var(--scrim)}.sheet{width:100%;max-width:560px;max-height:92vh;max-height:92dvh;overflow:auto;background:var(--surface);color:var(--ink);border-radius:26px 26px 0 0;padding:8px 18px calc(20px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .26s var(--ease);box-shadow:var(--shadow-sheet);overscroll-behavior:contain}.sheet-back.in .sheet{transform:none}.sheet-tall{min-height:78vh;min-height:78dvh}.sheet-grip{width:44px;height:5px;border-radius:3px;background:var(--line-strong);margin:4px auto 8px}.sheet-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.sheet-title{flex:1 1 auto;font-size:21px;font-weight:700}.sheet-body{display:flex;flex-direction:column}.confirm-summary{font-size:16px;line-height:1.55;color:var(--ink-2)}.pad-value{display:flex;align-items:baseline;justify-content:center;gap:4px;padding:14px 10px;margin:4px 0 8px;border-radius:var(--r-md);background:var(--surface-sunk)}.pad-num{font:800 44px/1.1 var(--font-num);letter-spacing:-.03em;color:var(--ink)}.pad-unit{font-size:18px;color:var(--ink-2);font-weight:600}.pad-empty .pad-num{color:var(--ink-3)}.pad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 12px}.pad-key{min-height:60px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);color:var(--ink);font:700 26px/1 var(--font-num);cursor:pointer;box-shadow:var(--e1);transition:transform .08s,background .12s}.pad-key:active{transform:scale(.95);background:var(--surface-sunk)}.pad-key-muted{background:var(--surface-sunk);font-size:22px}@media(max-height:640px){.pad-key{min-height:48px}.pad-value{padding:8px 10px}.pad-num{font-size:34px}}.toast{position:fixed;left:50%;bottom:calc(var(--tab-h) + 14px + env(safe-area-inset-bottom));z-index:95;transform:translate(-50%,20px);opacity:0;pointer-events:none;transition:transform .22s var(--ease),opacity .22s;width:min(calc(100% - 32px),520px);display:flex;align-items:center;gap:12px;padding:12px 12px 12px 18px;border-radius:var(--r-md);background:var(--ink);color:var(--surface);box-shadow:var(--e3)}.toast.in{transform:translate(-50%,0);opacity:1;pointer-events:auto}body.sheet-open .toast{bottom:auto;top:calc(12px + env(safe-area-inset-top));transform:translate(-50%,-20px)}body.sheet-open .toast.in{transform:translate(-50%,0)}.toast-msg{flex:1 1 auto;font-size:15px;line-height:1.4}.toast-undo{min-height:44px;padding:0 14px;border:0;border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font-weight:700;cursor:pointer}.empty{text-align:center;padding:26px 12px}.empty .ico{width:36px;height:36px;color:var(--ink-3)}.empty b{display:block;font-size:17px;margin-top:8px}.empty span{display:block;font-size:14.5px;color:var(--ink-2);margin-top:4px;line-height:1.45}.gate{min-height:100dvh;display:grid;place-items:center;padding:24px 18px}.gate .card{width:100%;max-width:420px;text-align:center;padding:30px 22px}.gate h1{font-size:24px;margin-bottom:6px}.gate p{color:var(--ink-2);font-size:15.5px;line-height:1.5}.field{width:100%;min-height:56px;padding:0 16px;border-radius:var(--r-md);border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink);font:500 17px var(--font-ui);text-align:center;margin-top:18px}.field:focus{outline:none;border-color:var(--blue-ink);box-shadow:0 0 0 4px var(--blue-tint)}.brandmark{width:58px;height:58px;border-radius:18px;margin:0 auto 14px;display:grid;place-items:center;background:var(--blue-solid);color:var(--on-blue-solid);box-shadow:var(--e2)}@media(min-width:620px){:root{--gutter: 22px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important}}.noscript{padding:24px;font-family:system-ui,sans-serif}.banners:empty{display:none}.view{padding-bottom:8px}.chart-svg .line-path{fill:none;stroke-linejoin:round;stroke-linecap:round}.switch::before{content:"";position:absolute;left:-4px;right:-4px;top:-5px;bottom:-5px}.toast-good{box-shadow:inset 5px 0 0 var(--c-green),var(--e3)}.toast-bad{box-shadow:inset 5px 0 0 var(--c-red),var(--e3)}.banner-retry{margin-left:auto;min-height:44px;flex:none}
