@font-face{font-family:Osifont;src:url(/api/fonts/osifont) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--bg-primary:#f7f8fa;--bg-secondary:#ffffff;--bg-tertiary:#eceef1;--bg-elevated:#ffffff;--viewer-backdrop:radial-gradient(130% 105% at 50% 22%,#f3f5f7 0%,#eceef1 46%,#dde1e6 100%);--surface-dark:#15171b;--text-on-dark:#f5f6f8;--text-on-dark-muted:#9aa3b0;--text-primary:#0f1113;--text-secondary:#3a3f45;--text-muted:#6b7280;--text-disabled:#9ca3af;--border-default:#e5e7eb;--border-subtle:#eef0f2;--border-strong:#d4d7dc;--scrollbar-thumb:#a8aeb6;--scrollbar-thumb-hover:#7c848d;--hover:#f3f4f6;--active:#eaecef;--focus:#e5e7eb;--ring:rgba(47,52,58,0.1);--accent:#2f343a;--accent-hover:#1f2328;--accent-subtle:#ecedef;--success-bg:#d1e7dd;--success-text:#1f7a63;--warning-bg:#fff3cd;--warning-text:#a67c2e;--danger-bg:#f8d7da;--danger-text:#a65252;--info-bg:#d6e6f5;--info-text:#1f5391;--neutral-bg:#e9ecef;--neutral-text:#555c66;--status-success:#2f9e6e;--status-warning:#c7901f;--status-danger:#c75151;--axis-x:#ef4444;--axis-y:#22c55e;--axis-z:#3b82f6;--highlight-3d:#16a34a;--accent-soft-bg:#ebe9f1;--accent-soft-text:#6b5b95;--annot-note-bg:#ebe9f1;--annot-note-text:#6b5b95;--annot-cote-bg:#e6edf4;--annot-cote-text:#3f6390;--annot-capture-bg:#e3efe9;--annot-capture-text:#3a7a60;--annot-surlignage-bg:#fbf1d4;--annot-surlignage-text:#a67c2e;--annot-surlignage-fluo:#ffeb3b;--annot-surlignage-fluo-hover:#fdd835;--folder-client:#5e6e80;--folder-affaire:#b5872f;--folder-dossier:#8c7a66;--folder-custom:var(--folder-dossier);--star-active:#e5a82e;--star-active-hover:#c8911f;--drawing-line-visible-mm:0.5;--drawing-line-hidden-mm:0.25;--drawing-line-axis-mm:0.25;--drawing-line-dimension-mm:0.25;--drawing-chip-border-mm:0.3;--drawing-line-frame-mm:0.5;--drawing-alert-outline-mm:1.2;--shadow-sm:0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 4px 12px rgba(0,0,0,0.06);--t-fast:0.12s;--t-base:0.18s;--t-slow:0.24s;--t-reflow:0.32s;--topbar-height:54px;--preview-panel-width:360px;--font-ui:var(--font-inter,"Inter"),sans-serif;--font-mono:var(--font-dm-mono),"DM Mono",monospace;--font-technical:"Osifont",var(--font-mono);--depth:0;--dot-color:transparent;--chip-color:transparent;--avatar-color:transparent;--fs-micro:8px;--fs-3xs:9px;--fs-2xs:10px;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-lg:14px;--fs-xl:16px;--fs-2xl:22px;--fs-display:32px;--sp-0:0;--sp-px:1px;--sp-2x:2px;--sp-1:4px;--sp-1x:6px;--sp-2:8px;--sp-3:12px;--sp-3x:14px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--r-xs:3px;--r-sm:5px;--r-md:7px;--r-item:8px;--r-panel:12px;--r-lg:16px;--r-pill:100px;--planning-name-w:180px;--compare-bar-bottom:70px;--compare-bar-radius:var(--r-panel);--compare-divider-width:2px;--compare-divider-color:var(--border-default);--compare-divider-hover:var(--accent);--compare-handle-size:26px;--compare-slider-width:80px;--z-compare-handle:5;--compare-bar-duration:0.36s;--compare-bar-easing:cubic-bezier(0.22,0.61,0.36,1);--surface0:var(
    --bg-primary
  );--surface1:var(--bg-elevated);--surface2:var(--bg-tertiary);--surface3:var(--hover);--border-soft:var(--border-subtle);--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fs-3xl:26px;--sp-7:28px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--ease-out:cubic-bezier(0.4,0,0.2,1);--shadow-lg:0 12px 32px rgba(0,0,0,0.1);--overlay-bg:rgba(15,17,19,0.45);--snap-marker-color:#2a8e60;--plan-pick-color:#0b72e7;--text-on-accent:#ffffff;--warning-soft:#fff7ed;--seg-cols:3;--success:var(--status-success);--warning:var(--status-warning);--danger:var(--status-danger);--accent-strong:var(--accent-hover);--vitrine-bg:#ffffff;--vitrine-bg-alt:#fafbfc;--vitrine-bg-deep:#f4f5f7;--vitrine-hatch-angle:22deg;--vitrine-hatch-from:50%;--vitrine-hatch-to:94%;--vitrine-hatch-pitch:26px;--vitrine-hatch-weight:1.2px;--vitrine-rule-w:0.8px;--vitrine-rule:rgba(0,0,0,0.06);--vitrine-rule-strong:rgba(0,0,0,0.11);--vitrine-halo:radial-gradient(120% 90% at 50% 0%,rgba(52,84,116,0.04) 0%,rgba(52,84,116,0.014) 38%,rgba(255,255,255,0) 72%);--vitrine-band:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 26%,rgba(52,84,116,0.05) 52%,rgba(52,84,116,0.095) 78%,rgba(52,84,116,0.12));--vitrine-grid:linear-gradient(rgba(52,84,116,0.1) 1px,transparent 0),linear-gradient(90deg,rgba(52,84,116,0.1) 1px,transparent 0),linear-gradient(rgba(52,84,116,0.05) 1px,transparent 0),linear-gradient(90deg,rgba(52,84,116,0.05) 1px,transparent 0);--vitrine-grid-size:120px 120px,120px 120px,24px 24px,24px 24px;--vitrine-floor:radial-gradient(88% 76% at 50% 100%,rgba(52,84,116,0.13) 0%,rgba(52,84,116,0.065) 44%,rgba(255,255,255,0) 78%);--vitrine-fs-display:clamp(38px,6vw,64px);--vitrine-ls-display:-0.022em;--vitrine-lh-display:0.95;--vitrine-fs-section:clamp(28px,3.4vw,44px);--vitrine-ls-section:-0.018em;--vitrine-lh-section:1.06;--vitrine-fs-sub:clamp(19px,1.6vw,22px);--vitrine-ls-sub:-0.012em;--vitrine-lh-sub:1.25;--vitrine-fs-body:18px;--vitrine-lh-body:1.38;--vitrine-ls-body:-0.01em;--vitrine-fw-body:500;--vitrine-fs-lead:clamp(17px,1.5vw,20px);--vitrine-fs-eyebrow:13px;--vitrine-ls-eyebrow:-0.005em;--vitrine-max-w:1440px;--vitrine-gutter:clamp(20px,4vw,40px);--vitrine-section-y:clamp(64px,8vw,132px);--vitrine-col:calc((min(100vw, var(--vitrine-max-w)) - 2 * var(--vitrine-gutter)) / 24);--vitrine-rail-item-h:48px;--sat-row-h:44px;--vitrine-ease:cubic-bezier(0.22,0.61,0.36,1);--vitrine-reveal-dur:0.62s;--vitrine-reveal-shift:18px;--pc-index:0;--z-h:120px;--nav-h:68px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{width:100%;height:100vh;font-family:var(--font-ui);background:var(--bg-primary);color:var(--text-primary);overflow:hidden;font-size:var(--fs-md);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-corner,::-webkit-scrollbar-track{background:transparent}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}}button{cursor:pointer}button,input,textarea{font-family:var(--font-ui)}