:root{--color-neutral-0:#fff;--color-neutral-50:#f8fafc;--color-neutral-100:#f1f5f9;--color-neutral-200:#e2e8f0;--color-neutral-300:#cbd5e1;--color-neutral-500:#64748b;--color-neutral-700:#334155;--color-neutral-900:#0f172a;--color-neutral-950:#020617;--color-brand-200:#bfdbfe;--color-brand-300:#93c5fd;--color-brand-500:#2563eb;--color-brand-600:#1d4ed8;--color-success-500:#15803d;--color-error-500:#b91c1c;--color-warning-500:#a16207;--text-primary:var(--color-neutral-900);--text-secondary:var(--color-neutral-500);--text-inverse:var(--color-neutral-0);--surface-default:var(--color-neutral-0);--surface-subtle:var(--color-neutral-50);--surface-elevated:var(--color-neutral-0);--border-default:var(--color-neutral-200);--border-strong:var(--color-neutral-300);--action-primary:var(--color-brand-600);--action-primary-hover:var(--color-brand-500);--action-focus:var(--color-brand-500);--feedback-success:var(--color-success-500);--feedback-error:var(--color-error-500);--feedback-warning:var(--color-warning-500);--spacing-0:0;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--radius-none:0;--radius-sm:.375rem;--radius-md:.625rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:999px;--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-display-l-size:4rem;--text-display-l-line:4.5rem;--text-h1-size:3rem;--text-h1-line:3.5rem;--text-h2-size:2rem;--text-h2-line:2.5rem;--text-h3-size:1.5rem;--text-h3-line:2rem;--text-body-l-size:1.125rem;--text-body-l-line:1.75rem;--text-body-m-size:1rem;--text-body-m-line:1.5rem;--text-body-s-size:.875rem;--text-body-s-line:1.25rem;--text-label-m-size:.875rem;--text-label-m-line:1.25rem}:root[data-theme=dark],[data-theme=dark]{--text-primary:var(--color-neutral-50);--text-secondary:var(--color-neutral-300);--text-inverse:var(--color-neutral-950);--surface-default:var(--color-neutral-950);--surface-subtle:var(--color-neutral-900);--surface-elevated:var(--color-neutral-900);--border-default:var(--color-neutral-700);--border-strong:var(--color-neutral-500);--action-primary:var(--color-brand-300);--action-primary-hover:var(--color-brand-200);--action-focus:var(--color-brand-300)}html{font-family:var(--font-sans);color:var(--text-primary);background:var(--surface-default)}.ds-display-l{font:700 var(--text-display-l-size) / var(--text-display-l-line) var(--font-sans)}.ds-h1{font:700 var(--text-h1-size) / var(--text-h1-line) var(--font-sans)}.ds-h2{font:600 var(--text-h2-size) / var(--text-h2-line) var(--font-sans)}.ds-h3{font:600 var(--text-h3-size) / var(--text-h3-line) var(--font-sans)}.ds-body-l{font:400 var(--text-body-l-size) / var(--text-body-l-line) var(--font-sans)}.ds-body-m{font:400 var(--text-body-m-size) / var(--text-body-m-line) var(--font-sans)}.ds-body-s{font:400 var(--text-body-s-size) / var(--text-body-s-line) var(--font-sans)}.ds-label-m{font:500 var(--text-label-m-size) / var(--text-label-m-line) var(--font-sans)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:4.5rem;scroll-padding-bottom:6.5rem}@media (width>=40rem){html[data-dock=left],html[data-dock=right]{scroll-padding-bottom:1.5rem}html[data-dock=left]{scroll-padding-left:6.5rem}html[data-dock=right]{scroll-padding-right:6.5rem}}::view-transition-old(root){animation-duration:.18s;animation-timing-function:ease}::view-transition-new(root){animation-duration:.18s;animation-timing-function:ease}html.theme-transition,html.theme-transition *,html.theme-transition :before,html.theme-transition :after{transition:background-color .2s,color .2s,border-color .2s,fill .2s,stroke .2s}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}body{background:var(--surface-subtle);min-height:100vh;margin:0}img{max-width:100%;height:auto;display:block}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--action-focus);outline-offset:2px}.skip-link{left:var(--spacing-4);top:var(--spacing-4);z-index:20;min-height:44px;padding:var(--spacing-3) var(--spacing-4);background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-md);font:500 var(--text-label-m-size) / var(--text-label-m-line) var(--font-sans);align-items:center;text-decoration:none;display:inline-flex;position:absolute;transform:translateY(-160%)}.skip-link:focus{transform:none}.shell{width:min(100% - var(--spacing-8), 72rem);margin-inline:auto}@property --highlight-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@property --highlight-strength{syntax:"<number>";inherits:false;initial-value:0}#projets.is-highlighted,#contact.is-highlighted{z-index:1;border-radius:var(--radius-lg);background-color:var(--surface-elevated);background-image:linear-gradient(var(--surface-elevated), var(--surface-elevated)), conic-gradient(from var(--highlight-angle), transparent 35%, color-mix(in srgb, var(--action-primary) calc(var(--highlight-strength) * 100%), transparent) 50%, transparent 65%);background-origin:padding-box,border-box;background-clip:padding-box,border-box;border-color:#0000;animation:1.6s highlight-glow,1.6s linear highlight-ring;position:relative;overflow:visible}@keyframes highlight-glow{0%,to{box-shadow:none}12%,68%{box-shadow:0 0 28px 6px color-mix(in srgb, var(--action-primary) 32%, transparent), inset 0 0 24px color-mix(in srgb, var(--action-primary) 16%, transparent)}}@keyframes highlight-ring{0%{--highlight-angle:0deg;--highlight-strength:0}8%{--highlight-strength:1}78%{--highlight-strength:1}to{--highlight-angle:720deg;--highlight-strength:0}}@keyframes highlight-ring-static{0%,to{--highlight-strength:0}10%,78%{--highlight-strength:1}}@media (prefers-reduced-motion:reduce){#projets.is-highlighted,#contact.is-highlighted{animation:.9s highlight-glow,.9s highlight-ring-static}}@media (width<=39.99rem){.ds-display-l{font-size:2.5rem;line-height:3rem}.ds-h1{font-size:2rem;line-height:2.5rem}}.dock.svelte-1el9aa1{z-index:15;padding:var(--spacing-2) var(--spacing-3) calc(var(--spacing-2) + env(safe-area-inset-bottom));border-top:1px solid var(--border-default);background:var(--surface-elevated);view-transition-name:app-dock;position:fixed;bottom:0;left:0;right:0}.dock.svelte-1el9aa1:focus{outline:2px solid var(--action-focus);outline-offset:4px}.items.svelte-1el9aa1{justify-content:space-between;align-items:stretch;gap:var(--spacing-1);width:min(100%,32rem);margin:0 auto;padding:0;list-style:none;display:flex}.item.svelte-1el9aa1{justify-content:center;align-items:center;gap:var(--spacing-1);min-width:44px;min-height:44px;padding:var(--spacing-1);border-radius:var(--radius-md);color:var(--text-primary);flex-direction:column;flex:1 1 0;text-decoration:none;display:flex}.item.svelte-1el9aa1:hover{background:var(--surface-subtle)}.item.active.svelte-1el9aa1{color:var(--action-primary);background:var(--surface-subtle)}.item.svelte-1el9aa1:focus-visible{outline:2px solid var(--action-focus);outline-offset:2px}.icon.svelte-1el9aa1{width:1.5rem;height:1.5rem;display:flex}.icon.svelte-1el9aa1 svg:where(.svelte-1el9aa1){width:100%;height:100%}.label.svelte-1el9aa1{font:500 .75rem / 1 var(--font-sans)}.handle.svelte-1el9aa1,.slots.svelte-1el9aa1{display:none}@media (width>=40rem){.dock.svelte-1el9aa1{right:auto;bottom:var(--spacing-5);width:max-content;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--border-default);border-radius:var(--radius-xl);cursor:grab;align-items:center;display:flex;left:50%;transform:translate(-50%)}.items.svelte-1el9aa1{gap:var(--spacing-2);width:auto}.item.svelte-1el9aa1{min-width:4.5rem;padding:var(--spacing-2) var(--spacing-3);flex:none}.handle.svelte-1el9aa1{border-radius:var(--radius-md);cursor:grab;background:0 0;border:0;flex-shrink:0;order:-1;justify-content:center;align-items:center;min-width:28px;min-height:44px;margin:0;padding:0;display:flex}.grip.svelte-1el9aa1{width:.75rem;height:1.125rem;fill:var(--text-secondary);display:block}.handle.svelte-1el9aa1:focus-visible{outline:2px solid var(--action-focus);outline-offset:2px}.dock.dragging.svelte-1el9aa1,.dock.dragging.svelte-1el9aa1 .handle:where(.svelte-1el9aa1){cursor:grabbing}.dock.dragging.svelte-1el9aa1{top:var(--drag-y);bottom:auto;right:auto;left:var(--drag-x);cursor:grabbing;transform:translate(calc(-1 * var(--grab-x)), calc(-1 * var(--grab-y)))}html[data-dock=left] .dock.svelte-1el9aa1:not(.dragging){top:50%;bottom:auto;right:auto;left:var(--spacing-5);transform:translateY(-50%)}html[data-dock=right] .dock.svelte-1el9aa1:not(.dragging){top:50%;right:var(--spacing-5);bottom:auto;left:auto;transform:translateY(-50%)}html[data-dock=left] .dock.svelte-1el9aa1,html[data-dock=right] .dock.svelte-1el9aa1,html[data-dock=left] .items.svelte-1el9aa1,html[data-dock=right] .items.svelte-1el9aa1{flex-direction:column}.slots.svelte-1el9aa1{display:contents}.slot.svelte-1el9aa1{z-index:14;pointer-events:none;border:1px dashed var(--border-strong);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--action-primary) 8%, transparent);opacity:.45;position:fixed}.slot.active.svelte-1el9aa1{border-color:var(--action-primary);background:color-mix(in srgb, var(--action-primary) 18%, transparent);opacity:1;border-style:solid}.slot[data-edge=bottom].svelte-1el9aa1{left:50%;bottom:var(--spacing-5);width:min(28rem,70vw);height:4.75rem;transform:translate(-50%)}.slot[data-edge=left].svelte-1el9aa1{top:50%;left:var(--spacing-5);width:5.75rem;height:min(28rem,70vh);transform:translateY(-50%)}.slot[data-edge=right].svelte-1el9aa1{top:50%;right:var(--spacing-5);width:5.75rem;height:min(28rem,70vh);transform:translateY(-50%)}}.footer.svelte-jz8lnl{padding:var(--spacing-6) var(--spacing-4) calc(5.5rem + env(safe-area-inset-bottom));view-transition-name:app-footer;margin-top:auto}.copy.svelte-jz8lnl{color:var(--text-secondary);font:400 var(--text-body-s-size) / var(--text-body-s-line) var(--font-sans);text-align:center;margin:0}@media (width>=40rem){.footer.svelte-jz8lnl{padding-bottom:calc(var(--spacing-16) + 4.5rem)}html[data-dock=left] .footer.svelte-jz8lnl,html[data-dock=right] .footer.svelte-jz8lnl{padding-bottom:var(--spacing-8)}}.header.svelte-1elxaub{z-index:15;border-bottom:1px solid var(--border-default);background:var(--surface-elevated);view-transition-name:app-header;position:sticky;top:0}.inner.svelte-1elxaub{align-items:center;gap:var(--spacing-3);width:min(100% - var(--spacing-6), 72rem);min-height:44px;padding-block:var(--spacing-1);grid-template-columns:1fr auto 1fr;margin-inline:auto;display:grid}.home.svelte-1elxaub{min-height:44px;color:var(--text-primary);font:600 var(--text-label-m-size) / var(--text-label-m-line) var(--font-sans);justify-self:start;align-items:center;text-decoration:none;display:inline-flex}.home.svelte-1elxaub:focus-visible{outline:2px solid var(--action-focus);outline-offset:2px;border-radius:var(--radius-sm)}.title.svelte-1elxaub{max-width:42vw;color:var(--text-primary);font:600 var(--text-body-s-size) / var(--text-body-s-line) var(--font-sans);text-align:center;text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.theme.svelte-1elxaub{min-width:44px;min-height:44px;padding:var(--spacing-2);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-elevated);color:var(--text-primary);cursor:pointer;justify-content:center;justify-self:end;align-items:center;display:inline-flex}.icon.svelte-1elxaub{width:1.25rem;height:1.25rem;display:block}.theme.svelte-1elxaub:hover{background:var(--surface-subtle);border-color:var(--border-strong)}.theme.svelte-1elxaub:focus-visible{outline:2px solid var(--action-focus);outline-offset:2px}@media (width>=40rem){.title.svelte-1elxaub{max-width:none;font:600 var(--text-body-m-size) / var(--text-body-m-line) var(--font-sans)}html[data-dock=left] .header.svelte-1elxaub{padding-left:6rem}html[data-dock=right] .header.svelte-1elxaub{padding-right:6rem}}.app.svelte-12qhfyh{flex-direction:column;min-height:100vh;display:flex}.stage.svelte-12qhfyh{flex-direction:column;flex:1;display:flex}main.svelte-12qhfyh{width:min(100% - var(--spacing-8), 72rem);padding-block:var(--spacing-8);flex:1;margin-inline:auto}main.svelte-12qhfyh:focus{outline:none}@media (width>=40rem){html[data-dock=left] .stage.svelte-12qhfyh{padding-left:6rem}html[data-dock=right] .stage.svelte-12qhfyh{padding-right:6rem}}
