@property --barre-bande{syntax:"<length>";inherits:true;initial-value:80px}:root{--color-text:#000;--color-text-muted:#717171;--color-surface-dark:#161616;--color-bg:#fff;--color-border:#0000001f;--color-border-fort:#00000073;--color-surface:#0000000a;--color-scrollbar:#0003;--color-scrollbar-hover:#00000059;--color-text-inverse:#ffffffeb;--color-text-inverse-muted:#ffffff8c;--color-border-inverse:#ffffff1a;--font-sans:"Inter", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-micro:10px;--fs-legende:12px;--fs-compact:14px;--fs-corps:16px;--fs-accroche:20px;--fs-section:24px;--fs-monument:32px;--fs-titre:48px;--fw-regular:400;--fw-medium:500;--lh-ligne:1;--lh-titre:1.1;--lh-section:1.3;--lh-corps:1.5;--mesure-corps:520px;--dur-quick:.15s;--dur-base:.3s;--dur-slow:.55s;--switch-travel:400;--switch-fire:.99;--switch-idle:250;--switch-settle:90;--switch-settle-touch:350;--switch-lock-max:700;--feed-fit-air:300px;--feed-fit-ratio:.78;--feed-fit-min:300px;--post-galerie-h:200px;--focus-anchor:.18;--focus-step:.75;--focus-speed:2.5;--focus-repeat:110;--dim-filter:brightness(1.18) saturate(.7) opacity(.55) blur(3px);--stagger-max:.18s;--intro-stagger:70ms;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:linear(0, .009, .035 2.1%, .141 4.4%, .723 12.9%, .938 16.7%, 1.017, 1.077 20.4%, 1.121, 1.149 24.3%, 1.159, 1.163 27%, 1.154, 1.129 32.8%, 1.051 39.6%, 1.017 43.1%, .991, .977 51%, .974 53.8%, .975 57.1%, .997 69.8%, 1.003 76.9%, 1);--ease-spring-soft:linear(0, .006, .025 2.8%, .101 6.1%, .539 18.9%, .721 25.3%, .849 31.5%, .937 38.1%, .968 41.8%, .991 45.7%, 1.006 50.1%, 1.015 55%, 1.017 63.9%, 1.001);--hover-scale:1.03;--hover-scale-tuile:1.06;--hover-lift:-2px;--press-offset:2px;--dur-press:90ms;--focus-ring:0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-text);--focus-air:var(--space-3);--focus-ring-carte:0 0 0 var(--focus-air) var(--color-bg), 0 0 0 calc(var(--focus-air) + 2px) var(--color-text);--shadow-window:0 12px 24px #00000040;--shadow-window-hover:0 18px 32px #00000047;--shadow-float:0 12px 12px #00000040;--shadow-packshot:0 0 0 1px #0000002e, 0 3px 8px #00000038, 0 18px 44px #00000059;--apercu-scale:1;--apercu-scale-min:.65;--apercu-bout-scale-min:.5;--apercu-timeout:8000;--plein-inset:var(--space-3);--poster-zoom-repli:1.6;--poster-ancrage-repli:center;--apercu-carte-ratio:4 / 3;--apercu-bout-frac:.78;--apercu-settle:450;--carte-pile-pad:var(--space-5);--carte-pile-gap:var(--space-3-5);--diptyque-a-frac:.5;--diptyque-b-frac:.56;--diptyque-a-x:.09;--diptyque-a-y:.12;--diptyque-b-x:.08;--diptyque-b-y:.72;--terminal-fs:var(--fs-legende);--terminal-lh:var(--lh-corps);--terminal-pad-x:var(--space-6);--terminal-pad-y:var(--space-4-5);--grid-gutter:var(--space-3);--grid-margin:var(--space-12);--grid-max:1376px;--grid-overlay-color:#ff3b300f;--dock-w:340;--dock-peek:64;--dock-near:80;--magnet-range:150;--magnet-pull:12;--magnet-lerp:.16;--dial-ticks:12;--dial-spread:70;--carousel-resistance:.3;--carousel-threshold:240;--carousel-intent:30;--carousel-falloff:.75;--carousel-idle:160;--carousel-cooldown:450;--spring-stiffness:300;--spring-damping:30;--press-scale:.97;--avatar-taille:var(--space-8);--touch-target:44px;--longpress-delay:225;--longpress-slop:10;--menu-hit-range:64;--flick-velocity:.6;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--color-veil:#ffffffb8;--shadow-sheet:0 -12px 24px #0000002e;--sheet-max:85svh;--sheet-dismiss:.25;--radial-radius:92;--dial-size:44px;--dial-tick-w:2px;--dial-tick-h:8px;--dial-idle:.18;--germe-cache-dy:96px;--germe-sens:-1;--barre-seuil:8;--hint-vie:6000;--barre-bande:calc(var(--space-4) + var(--safe-top) + var(--touch-target));--hint-pointe:10px;--tuto-attente:10000;--space-base:4px;--space-0-5:2px;--space-1:4px;--space-1-5:6px;--space-2:8px;--space-2-5:10px;--space-3:12px;--space-3-5:14px;--space-4:16px;--space-4-5:18px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-20:80px;--space-30:120px;--rayon-xs:2px;--rayon-s:4px;--rayon-m:8px;--rayon-l:12px;--rayon-xl:16px;--rayon-2xl:24px;--pad-feed-top:calc(48 * var(--space-base));--pad-projet-top:calc(68 * var(--space-base));--gap-kpis:calc(44 * var(--space-base));--gap-sections-top:calc(32 * var(--space-base));--gap-hero-top:calc(32 * var(--space-base))}@media (width<=640px){:root{--grid-margin:var(--space-4);--pad-feed-top:calc(24 * var(--space-base));--pad-projet-top:calc(32 * var(--space-base));--gap-kpis:calc(24 * var(--space-base));--gap-sections-top:calc(18 * var(--space-base));--gap-hero-top:calc(18 * var(--space-base));--terminal-fs:var(--fs-micro);--terminal-pad-x:var(--space-3-5);--terminal-pad-y:var(--space-3);--focus-air:var(--space-2)}}@media (hover:none) and (pointer:coarse){:root{--barre-bande:calc(var(--space-4) + var(--safe-bottom) + var(--touch-target))}html{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.fenetre,:is(main,.fenetre) :is(p,h1,h2,h3,li,code){-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}body{overscroll-behavior-y:none}a,button,input{touch-action:manipulation}}:root{--cursor-fleche:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23fff' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.127 19.986 3.135 5.01c-.386-1.16.717-2.262 1.876-1.876l14.975 4.992c1.31.437 1.364 2.27.082 2.784l-5.951 2.38c-.377.15-.675.45-.826.826l-2.38 5.95c-.513 1.283-2.347 1.23-2.784-.081'/%3E%3C/svg%3E") 3 3;--cursor-doigt:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23fff' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.25 11.25v1.5m0-1.5a1.5 1.5 0 0 1 3 0v6a4.5 4.5 0 0 1-4.5 4.5h-4.568a6 6 0 0 1-5.735-4.235L3.75 11.25c1.5-1.5 2.448.396 2.448.396L8.25 15.75v-12a1.5 1.5 0 1 1 3 0V9m6 2.25v-1.5a1.5 1.5 0 0 0-3 0m-3-.75a1.5 1.5 0 0 1 3 0v.75m-3-.75v1.5m3-.75v1.5'/%3E%3C/svg%3E") 10 2;--cursor-grab:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23fff' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.5 9.75v-1.5a1.5 1.5 0 1 1 3 0m-3 1.5v3.75m0-3.75-1.737 1.303a3 3 0 0 0-1.198 2.524l.1 2.412c.02.515.093 1.032.307 1.5A6 6 0 0 0 10.432 21H15a4.5 4.5 0 0 0 4.5-4.5v-6a1.5 1.5 0 0 0-3 0m0 0V12m0-1.5V9a1.5 1.5 0 0 0-3 0m-3-.75a1.5 1.5 0 1 1 3 0V9m-3-.75v1.5m3-.75v1.5'/%3E%3C/svg%3E") 12 13}body{cursor:var(--cursor-fleche), default}a,button,input{cursor:var(--cursor-doigt), pointer}.mode-clavier,.mode-clavier *{cursor:none!important}.app{--content-offset:0px;--grid-w:min(100vw - var(--content-offset) - 2 * var(--grid-margin), var(--grid-max));--grid-col:calc((var(--grid-w) - 11 * var(--grid-gutter)) / 12)}.app.dock-open{--content-offset:calc(var(--dock-w) * 1px)}.app.dock-peek{--content-offset:calc(var(--dock-peek) * 1px)}*{scrollbar-width:none}::-webkit-scrollbar{display:none}.os-windows *{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar) transparent}.os-windows ::-webkit-scrollbar{width:8px;height:8px;display:block}.os-windows ::-webkit-scrollbar-track{background:0 0}.os-windows ::-webkit-scrollbar-thumb{background:var(--color-scrollbar);background-clip:content-box;border:2px solid #0000;border-radius:99px}.os-windows ::-webkit-scrollbar-thumb:hover{background-color:var(--color-scrollbar-hover)}*{box-sizing:border-box}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0}p{margin:0}img{max-width:100%;display:block}.squircle{border-radius:var(--r,var(--rayon-2xl))}@supports (corner-shape:squircle){.squircle{corner-shape:squircle;border-radius:calc(var(--r,var(--rayon-2xl)) * 1.84)}}:focus-visible{outline:none}:is(a,button,input,.fenetre--docked):focus-visible{box-shadow:var(--focus-ring)}.post:focus-visible{box-shadow:var(--focus-ring-carte)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.lecteur-seul{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icone{display:contents}.avatar{width:var(--avatar-taille);height:var(--avatar-taille);object-fit:cover;border-radius:50%}.btn{font:var(--fw-medium) var(--fs-compact) / var(--lh-section) var(--font-sans);padding:var(--space-3);--r:var(--rayon-l);transition:transform var(--dur-base) var(--ease-spring), box-shadow var(--dur-quick) var(--ease-out);border:none}.btn:hover{transform:scale(var(--hover-scale));box-shadow:var(--shadow-float)}.btn:active{transform:translateY(var(--press-offset));box-shadow:none;transition:transform var(--dur-press) var(--ease-out), box-shadow var(--dur-press) var(--ease-out)}.presse-cycle{animation:presse-descente var(--dur-press) var(--ease-out) forwards}@keyframes presse-descente{to{transform:translateY(var(--press-offset));box-shadow:none}}.btn--primaire{background:var(--color-surface-dark);color:var(--color-bg)}.btn--ghost{background:var(--color-bg);border:1px solid var(--color-border-fort);color:var(--color-text)}.btn--icone{background:var(--color-bg);border:1px solid var(--color-border-fort);width:40px;height:40px;color:var(--color-text);justify-content:center;align-items:center;padding:0;display:inline-flex}.btn--sombre{background:var(--color-surface-dark);color:var(--color-bg);border:none}.tuile{align-items:center;gap:var(--space-1-5);padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border-fort);--r:var(--rayon-2xl);font:var(--fw-medium) var(--fs-legende) / var(--lh-section) var(--font-sans);color:var(--color-text);transition:transform var(--dur-base) var(--ease-spring), box-shadow var(--dur-quick) var(--ease-out);flex-direction:column;text-decoration:none;display:flex}.tuile:not(.radial-item):hover{transform:scale(var(--hover-scale));box-shadow:var(--shadow-float)}.tuile:not(.radial-item):active{transform:translateY(var(--press-offset));box-shadow:none}.tuile-sous{font-weight:var(--fw-regular);font-size:var(--fs-micro);line-height:var(--lh-section);color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.feed,.carousel-track,.projet,.projet-sections,.section-image,.apercu,.projet-hero-wrap,.projet-fin-hero{--span:calc(var(--cols) * var(--grid-col) + (var(--cols) - 1) * var(--grid-gutter));width:var(--span);transition:width var(--dur-base) var(--ease-out), margin var(--dur-base) var(--ease-out)}.feed,.carousel-track{--cols:6;width:clamp(var(--feed-fit-min), calc((100svh - var(--barre-bande) - var(--feed-fit-air)) / var(--feed-fit-ratio)), var(--span))}.projet{--cols:8}.projet-sections{--cols:6}.section-image{--cols:8}.projet-hero-wrap,.projet-hero-wrap .apercu{--cols:12}.apercu{--cols:10}.projet-section .apercu{--cols:8}@media (width>=1440px){.feed,.carousel-track{--cols:4}}@media (width<=1200px){.feed,.carousel-track,.projet-sections{--cols:8}.projet,.section-image,.projet-section .apercu{--cols:10}}@media (width<=900px){.feed,.carousel-track,.projet-sections{--cols:10}.projet,.section-image,.apercu,.projet-section .apercu,.projet-hero-wrap{--cols:12}}@media (width<=640px){.feed,.carousel-track,.projet,.projet-sections,.section-image,.apercu,.projet-section .apercu,.projet-hero-wrap{--cols:12}}.feed{padding-block:var(--pad-feed-top) var(--space-20);gap:var(--space-8);flex-direction:column;margin-inline:auto;display:flex}.post{gap:var(--space-3);color:inherit;border-radius:var(--rayon-2xl);align-items:flex-start;text-decoration:none;display:flex}@supports (corner-shape:squircle){.post{corner-shape:squircle;border-radius:calc(var(--rayon-2xl) * 1.84)}}.post-body{gap:var(--space-2-5);min-width:0;flex-direction:column;flex:1;padding-block-end:var(--space-2);display:flex}.post-auteur{min-height:var(--avatar-taille);align-items:center;gap:var(--space-1-5);font-size:var(--fs-compact);line-height:var(--lh-corps);margin:0;display:flex}.post-auteur-nom{font-weight:var(--fw-medium)}.post-auteur-sep{color:var(--color-text-muted)}.post-nom{font-size:var(--fs-accroche);font-weight:var(--fw-medium);line-height:var(--lh-section);margin:0}.date{font-size:var(--fs-compact);line-height:var(--lh-corps);color:var(--color-text-muted)}.post-description{font-size:var(--fs-corps);font-weight:var(--fw-medium);line-height:var(--lh-corps)}.post-image{aspect-ratio:40/30;object-fit:cover;--r:var(--rayon-2xl);width:100%}.post-image,.post-vignette,.section-image,.projet-hero,.projet-fin-hero{height:auto}.post-galerie{gap:var(--space-2);flex-direction:column;display:flex}.post-vignettes{grid-template-columns:repeat(var(--n,2), 1fr);gap:var(--space-2);display:grid}.post-vignette{aspect-ratio:40/30;object-fit:cover;--r:var(--rayon-l);width:100%}@media (height<=640px){.feed,.carousel-track{width:var(--span)}.post-galerie:has(.post-vignettes) .post-image{display:none}.post-galerie:not(:has(.post-vignettes)) .post-image{max-height:min(var(--post-galerie-h), 30svh);width:auto;margin-inline-end:auto}}.section-image{max-width:none;margin-inline:calc((100% - var(--span)) / 2);aspect-ratio:40/30;object-fit:cover;--r:var(--rayon-2xl);margin-block:var(--space-16) var(--space-6)}.app{min-height:100svh}.app.dock-open .view{margin-left:calc(var(--dock-w) * 1px)}.app.dock-peek .view{margin-left:calc(var(--dock-peek) * 1px)}.dock{inset-block:0;width:calc(var(--dock-w) * 1px);background:var(--color-bg);border-right:1px solid var(--color-border);z-index:15;animation:dock-in var(--dur-base) var(--ease-out) backwards;transition:transform var(--dur-base) var(--ease-out);position:fixed;left:0}.dock--peek{transform:translateX(calc((var(--dock-peek) - var(--dock-w)) * 1px))}.dock--out{pointer-events:none;transform:translate(-100%)}.dock-scroll{height:100%;padding:var(--space-5) var(--space-3);gap:var(--space-3);flex-direction:column;display:flex;overflow-y:auto}@keyframes dock-in{0%{transform:translate(-100%)}}.dock-hint{margin:auto}.fenetre.fenetre--docked{width:100%;animation:widget-in var(--dur-slow) var(--ease-spring) backwards;box-shadow:none;flex-shrink:0;position:static}.fenetre.fenetre--docked:hover{box-shadow:none;translate:none}@keyframes widget-in{0%{opacity:0;transform:scale(.7)translateY(16px)}}.fenetre.fenetre--docked .fenetre-body{max-height:min(40vh,380px);overflow-y:auto}.fenetre.fenetre--docked[aria-label=profil]{flex-direction:column;flex:1;min-height:0;display:flex}.fenetre.fenetre--docked[aria-label=profil] .fenetre-body{flex:1;min-height:0;max-height:none}.fenetre.fenetre--docked.fenetre--lifting{z-index:2;box-shadow:var(--shadow-window);opacity:.95;position:relative}.dock-sorting .dock-scroll{overflow:visible}.dock-sorting .fenetre--docked:not(.fenetre--lifting){transition:transform var(--dur-base) var(--ease-spring)}.dock-close{top:var(--space-3);left:calc(100% + var(--space-3));--d:0s;z-index:1;position:absolute}.dock:after{content:"";width:72px;height:76px;position:absolute;top:0;left:100%}.dock:hover .dock-close,.dock:focus-within .dock-close{transform:scale(1)}.dock:hover .dock-close:hover,.dock:focus-within .dock-close:hover{transform:scale(var(--hover-scale-tuile)) translateY(var(--hover-lift));box-shadow:var(--shadow-window);transition-delay:0s}.projet{padding-block:var(--pad-projet-top) var(--space-30);margin-inline:auto}.projet-header{gap:var(--space-6);text-align:center;flex-direction:column;display:flex}.projet-meta{gap:var(--space-2-5);justify-content:center;align-items:center;display:flex}.avatar-sm{width:24px;height:24px}.projet-title{font-size:clamp(var(--fs-monument), 6vw, var(--fs-titre));font-weight:var(--fw-medium);line-height:var(--lh-titre);margin:0}.projet-liens{justify-content:center;gap:var(--space-2);display:flex}.projet-liens .btn{align-items:center;gap:var(--space-2);text-decoration:none;display:inline-flex}.projet-kpis{gap:var(--space-5);margin-top:var(--gap-kpis);text-align:center;grid-template-columns:repeat(4,1fr);display:grid}@media (width<=768px){.projet-kpis{grid-template-columns:repeat(2,1fr)}}.kpi{gap:var(--space-1-5);font-weight:var(--fw-medium);flex-direction:column;display:flex}.kpi-value{font-size:var(--fs-monument)}.kpi-label{font-size:var(--fs-compact)}.projet-sections{margin:var(--gap-sections-top) auto 0;gap:var(--space-12);flex-direction:column;display:flex}.projet-section{gap:var(--space-3);flex-direction:column;display:flex}.section-title{font-size:var(--fs-section);font-weight:var(--fw-medium);line-height:var(--lh-section);max-width:var(--mesure-corps);margin:0}.section-body{font-size:var(--fs-corps);line-height:var(--lh-corps);max-width:var(--mesure-corps)}.projet-header .section-body{margin-inline:auto}.ds{--ds-col-token:220px}.ds .projet-section{gap:var(--space-4)}.ds-card{background:var(--color-bg);border:1px solid var(--color-border);--r:var(--rayon-2xl);padding:var(--space-6);gap:var(--space-4);flex-direction:column;align-items:flex-start;display:flex}.ds-card .post{width:100%}.ds-row{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.ds-swatch{width:var(--touch-target);height:var(--touch-target);border:1px solid var(--color-border-fort);--r:var(--rayon-l);transition:transform var(--dur-base) var(--ease-spring);flex-shrink:0;padding:0}.ds-swatch:hover{transform:scale(var(--hover-scale-tuile))}.ds-swatch:active{transform:translateY(var(--press-offset))}.ds-swatch--sombre{background-color:var(--color-surface-dark);background-position:50%;background-repeat:no-repeat;background-size:calc(100% - 2 * var(--space-1-5)) calc(100% - 2 * var(--space-1-5))}.ds-code{font-family:ui-monospace,monospace;font-size:var(--fs-legende);color:var(--color-text-muted)}.ds-specimen{min-width:260px}.ds-demo{border:1px solid var(--color-border-fort);width:64px;height:64px;font-size:var(--fs-legende);color:var(--color-text-muted);justify-content:center;align-items:center;display:inline-flex}.ds-icons{gap:var(--space-6)}.ds-icon{align-items:center;gap:var(--space-1-5);flex-direction:column;display:inline-flex}.radial-item.ds-static{animation:none;position:static;transform:translate(0,0)}.ds-motion-demo{transition:transform var(--dur-base) var(--ease-spring)}.ds-motion-demo:hover{transform:scale(var(--hover-scale))}.ds-etat{gap:var(--space-0-5);flex-direction:column;width:100%;display:flex}.ds-etat-tete{align-items:baseline;gap:var(--space-4);flex-wrap:wrap;display:flex}.ds-etat-tete>code.ds-code{flex:1 1 var(--ds-col-token);min-width:0}.ds-etat-nom{font-size:var(--fs-corps);font-weight:var(--fw-medium)}.ds-ligne{max-width:var(--mesure-corps);color:var(--color-text-muted)}.ds-copiable{min-height:var(--touch-target);min-width:var(--touch-target);font:inherit;font-family:ui-monospace,monospace;font-size:var(--fs-legende);color:var(--color-text-muted);text-align:left;transition:color var(--dur-quick) var(--ease-out), transform var(--dur-base) var(--ease-spring);background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.ds-copiable:hover{color:var(--color-text)}.ds-copiable--ok{color:var(--color-text);font-weight:var(--fw-medium)}.ds-motion-token{min-width:var(--ds-col-token)}.ds-states{gap:var(--space-8);flex-wrap:wrap;align-items:flex-start;display:flex}.ds-state{gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.ds-state--hover .btn{transform:scale(var(--hover-scale));box-shadow:var(--shadow-float)}.ds-state--press .btn{transform:translateY(var(--press-offset));box-shadow:none}.ds-state--focus .btn{box-shadow:var(--focus-ring)}.ds-space{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.ds-space-ligne{grid-template-columns:var(--space-30) 1fr;column-gap:var(--space-4);row-gap:var(--space-0-5);align-items:center;width:100%;display:grid}.ds-space-barre{height:var(--space-3);background:var(--color-text);--r:var(--rayon-xs);grid-column:1;justify-self:start}.ds-space-ligne--demi .ds-space-barre{background:var(--color-text-muted)}.ds-space-tete{align-items:center;gap:var(--space-4);flex-wrap:wrap;grid-column:2;display:flex}.ds-space-usage{grid-column:2}.ds-space-nom{min-width:var(--space-30)}.ds-space-lab{align-items:center;display:flex}.ds-space-cube{width:var(--space-8);height:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);--r:var(--rayon-s);flex:none}.ds-space-boite{border:1px solid var(--color-border);--r:var(--rayon-l);display:inline-flex}.ds-lab-chips{gap:var(--space-3);flex-wrap:wrap;display:flex}.ds-chip{--r:var(--rayon-m);min-height:var(--touch-target);padding:var(--space-2) var(--space-3);font-family:ui-monospace,monospace;font-size:var(--fs-legende);border:1px solid var(--color-border-fort);background:var(--color-bg);color:var(--color-text);transition:transform var(--dur-base) var(--ease-spring);align-items:center;display:inline-flex}.ds-chip:hover{transform:scale(var(--hover-scale))}.ds-chip:active{transform:translateY(var(--press-offset))}.ds-chip--on{background:var(--color-surface-dark);border-color:var(--color-surface-dark);color:var(--color-bg)}.ds-lab-track{--r:var(--rayon-l);background:var(--color-surface);border:1px solid var(--color-border);width:100%;height:44px;position:relative}.ds-lab-marker{--r:var(--rayon-m);top:var(--space-2);background:var(--color-surface-dark);width:28px;height:28px;animation-name:ds-travel;animation-iteration-count:1;animation-fill-mode:both;position:absolute;left:0}.ds-card .fenetre-action{transform:scale(1)}.ds-card .fenetre-action:hover{transform:scale(var(--hover-scale-tuile)) translateY(var(--hover-lift));box-shadow:var(--shadow-window)}@keyframes ds-travel{0%{left:0}to{left:calc(100% - 28px)}}.radial-backdrop{z-index:39;position:fixed;inset:0}.radial-backdrop.closing{pointer-events:none}.radial-menu{z-index:40;position:fixed}.radial-ring{border:2px dashed var(--color-border);background:var(--color-bg);animation:ring-in var(--dur-slow) var(--ease-spring) backwards;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}@keyframes ring-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}}.radial-dial{width:var(--dial-size);height:var(--dial-size);animation:ring-in var(--dur-base) var(--ease-spring) backwards;position:absolute;transform:translate(-50%,-50%)}.radial-dial-tick{left:calc(50% - var(--dial-tick-w) / 2);top:calc(50% - var(--dial-tick-h) / 2);width:var(--dial-tick-w);height:var(--dial-tick-h);border-radius:calc(var(--dial-tick-w) / 2);background:var(--color-text);opacity:calc(var(--dial-idle) + (1 - var(--dial-idle)) * var(--p,0));transform:rotate(var(--a)) translateY(calc(var(--dial-size) / -2 + var(--dial-tick-h) / 2));position:absolute}.radial-item{width:80px;translate:calc(-50% + var(--mx,0px)) calc(-50% + var(--my,0px));scale:var(--s,1);transition:scale var(--dur-quick) var(--ease-out), box-shadow var(--dur-quick) var(--ease-out);animation:bloom var(--dur-slow) var(--ease-spring) var(--d-in) backwards;position:absolute}@keyframes bloom{0%{opacity:0;translate:calc(-50% - var(--bx)) calc(-50% - var(--by));scale:0}}.radial-item:hover{--s:var(--hover-scale-tuile);box-shadow:var(--shadow-float)}.radial-menu.closing .radial-ring,.radial-menu.closing .radial-dial{animation:ring-out var(--dur-base) var(--ease-out) both}@keyframes ring-out{to{opacity:0;transform:translate(-50%,-50%)scale(.85)}}.radial-menu.closing .radial-item{animation:pop-out var(--dur-base) var(--ease-out) var(--d-out) both;pointer-events:none}@keyframes pop-out{to{opacity:0;translate:-50% -50%;scale:0}}.radial-item svg{transition:transform var(--dur-quick) var(--ease-out)}.radial-item[data-action=projets]:hover svg{animation:icon-pop var(--dur-base) var(--ease-spring)}@keyframes icon-pop{50%{transform:scale(1.3)}}.radial-item[data-action=profil]:hover svg{animation:icon-nod var(--dur-slow) var(--ease-spring)}@keyframes icon-nod{30%{transform:rotate(-12deg)}60%{transform:rotate(10deg)}}.radial-item[data-action=contact]:hover svg{animation:icon-jump var(--dur-slow) var(--ease-spring)}@keyframes icon-jump{35%{transform:translateY(-6px)scale(1.1)}70%{transform:translateY(1px)}}.radial-item[data-action=vibe]:hover svg{animation:icon-groove var(--dur-slow) var(--ease-spring) infinite}@keyframes icon-groove{25%{transform:rotate(-10deg)scale(1.08)}75%{transform:rotate(10deg)scale(1.08)}}.radial-item[data-action=retour]:hover svg{animation:icon-rewind var(--dur-slow) var(--ease-spring)}@keyframes icon-rewind{to{transform:rotate(-360deg)}}.radial-item[data-action=design]:hover svg{animation:icon-paint var(--dur-slow) var(--ease-spring)}@keyframes icon-paint{40%{transform:rotate(15deg)scale(1.2)}70%{transform:rotate(-8deg)}}.radial-item[data-action=langue]:hover svg{animation:icon-flip var(--dur-slow) var(--ease-spring)}@keyframes icon-flip{50%{transform:rotateY(180deg)scale(1.1)}}.fenetre{background:var(--color-bg);border:1px solid var(--color-border);--r:var(--rayon-2xl);box-shadow:var(--shadow-window);animation:fenetre-in var(--dur-slow) var(--ease-spring) backwards;transition:box-shadow var(--dur-base) var(--ease-out), translate var(--dur-base) var(--ease-spring);flex-direction:column;display:flex;position:fixed}.fenetre:hover{box-shadow:var(--shadow-window-hover);translate:0 var(--hover-lift)}@keyframes fenetre-in{0%{opacity:0;transform:scale(.6)translateY(16px)}}.fenetre.closing{animation:fenetre-out var(--dur-base) var(--ease-out) both;pointer-events:none}@keyframes fenetre-out{to{opacity:0;transform:scale(.82)rotate(-2deg)translateY(12px)}}.fenetre-handle{padding:var(--space-1-5) var(--space-3);cursor:var(--cursor-grab), grab;touch-action:none;color:var(--color-text-muted);justify-content:center;display:flex}.fenetre-handle:active{cursor:var(--cursor-grab), grabbing}.fenetre-body{padding:var(--space-1) var(--space-3) var(--space-3);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;corner-shape:inherit;max-height:min(60vh,600px);overflow:auto}.fenetre-actions{gap:var(--space-2);padding-bottom:var(--space-2);z-index:1;display:flex;position:absolute;bottom:100%;right:0}.fenetre-action{background:var(--color-bg);border:1px solid var(--color-border-fort);width:40px;height:40px;color:var(--color-text);box-shadow:var(--shadow-float);cursor:pointer;transition:transform var(--dur-base) var(--ease-spring) var(--d), box-shadow var(--dur-quick) var(--ease-out);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;transform:scale(0)}.fenetre:hover .fenetre-action,.fenetre:focus-within .fenetre-action{transform:scale(1)}.fenetre:hover .fenetre-action:hover,.fenetre:focus-within .fenetre-action:hover{transform:scale(var(--hover-scale-tuile)) translateY(var(--hover-lift));box-shadow:var(--shadow-window);transition-delay:0s}.fenetre-action svg{transition:transform var(--dur-quick) var(--ease-out)}.fenetre-action--maximize:hover svg{animation:icon-expand var(--dur-slow) var(--ease-spring)}@keyframes icon-expand{50%{transform:scale(1.3)}}.fenetre-action--close:hover svg{animation:icon-twist var(--dur-slow) var(--ease-spring)}@keyframes icon-twist{25%{transform:rotate(20deg)scale(1.15)}75%{transform:rotate(-20deg)scale(1.15)}}.wprofil{gap:var(--space-4);flex-direction:column;display:flex}.wprofil-hero{text-align:center;flex-direction:column;align-items:center;display:flex}.wprofil-portrait{object-fit:cover;width:80px;height:80px;margin-top:var(--space-2);border-radius:50%}.wprofil-nom{font-size:var(--fs-accroche);font-weight:var(--fw-medium);line-height:var(--lh-section);margin-top:var(--space-2-5)}.wprofil-desc{font-size:var(--fs-compact);line-height:var(--lh-corps);color:var(--color-text-muted);max-width:32ch;margin-top:var(--space-1)}.wprofil-desc svg{vertical-align:-2px}.wprofil-stats{background:var(--color-surface);--r:var(--rayon-l);width:100%;padding:var(--space-3-5) var(--space-2);margin-top:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.wprofil-stat{align-items:center;gap:var(--space-0-5);flex-direction:column;display:flex}.wprofil-stat-valeur{font-size:var(--fs-accroche);font-weight:var(--fw-medium);line-height:var(--lh-titre)}.wtitle{margin:var(--space-2) 0 0;font-size:var(--fs-corps);font-weight:var(--fw-medium)}.wtext{font-size:var(--fs-compact);line-height:var(--lh-corps);color:var(--color-text-muted)}.wexp-liste{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.wexp{border:1px solid var(--color-border);--r:var(--rayon-l);padding:var(--space-3) var(--space-3-5);gap:var(--space-1);flex-direction:column;display:flex}.wexp-org{font-size:var(--fs-corps);font-weight:var(--fw-medium);line-height:var(--lh-section)}.wexp-role{font-size:var(--fs-compact);line-height:var(--lh-section)}.wexp-date{align-items:center;gap:var(--space-1-5);font-size:var(--fs-legende);margin-top:var(--space-0-5);display:flex}.wcontact-grid{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.wcontact-grid .tuile{min-width:0}.wcontact-grid .tuile:last-child:nth-child(odd){grid-column:1/-1}.carousel{height:100svh;overflow:hidden}.carousel-track{gap:var(--space-8);will-change:transform;flex-direction:column;margin-inline:auto;display:flex}.carousel-item{transform:scale(calc(.94 + .06 * var(--f,1)));opacity:calc(.4 + .6 * var(--f,1))}.carousel-item:has(.post:focus-visible){opacity:1}.carousel .post,.feed .post{transition:transform var(--dur-base) var(--ease-spring)}.carousel .post:hover,.feed .post:hover{transform:scale(var(--hover-scale))}.carousel--intro .carousel-item{animation:intro-item var(--dur-slow) var(--ease-spring) calc(var(--dist,0) * var(--intro-stagger)) backwards}@keyframes intro-item{0%{opacity:0;transform:translateY(calc(32px + var(--dir,0) * 96px)) scale(.94)}}.carousel--intro .post .avatar{animation:intro-pop var(--dur-slow) var(--ease-spring) calc(2 * var(--intro-stagger)) backwards}@keyframes intro-pop{0%{opacity:0;transform:scale(0)rotate(-12deg)}}.carousel--intro .post-entete{animation:intro-slide var(--dur-slow) var(--ease-spring-soft) calc(3 * var(--intro-stagger)) backwards}@keyframes intro-slide{0%{opacity:0;transform:translate(-14px)}}.carousel--intro .post-description{animation:rise var(--dur-slow) var(--ease-spring-soft) calc(4 * var(--intro-stagger)) backwards}.carousel--intro .post-image{animation:intro-hero var(--dur-slow) var(--ease-spring-soft) calc(5 * var(--intro-stagger)) backwards}@keyframes intro-hero{0%{opacity:0;filter:blur(12px);transform:scale(1.06)}}.carousel--intro .post-vignette{animation:intro-pop-v var(--dur-slow) var(--ease-spring) calc((7 + var(--i,0)) * var(--intro-stagger)) backwards}@keyframes intro-pop-v{0%{opacity:0;transform:translateY(18px)scale(.7)}}.view:has(.carousel--intro){animation:none}.toolstack{margin-top:var(--space-4);align-items:center;display:flex}.tool-bulle{background:var(--color-bg);border:1px solid var(--color-border);width:28px;height:28px;box-shadow:0 0 0 2px var(--color-bg);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.tool-bulle img{width:14px;height:14px}.tool-bulle--reste{font:var(--fw-medium) var(--fs-legende) / var(--lh-ligne) var(--font-sans);color:var(--color-text-muted)}.toolstack:not(.toolstack--etendu)>*+*{margin-left:calc(-1 * var(--space-2))}.toolstack--etendu{justify-content:center;gap:var(--space-2-5) var(--space-4-5);flex-wrap:wrap;margin-top:0}.ds-card .toolstack--etendu{margin-top:var(--space-4);justify-content:flex-start}.tool{align-items:center;gap:var(--space-2);animation:tool-expand var(--dur-slow) var(--ease-spring) calc(var(--i,0) * var(--intro-stagger) / 2) backwards;display:inline-flex}@keyframes tool-expand{0%{transform:translateX(calc(var(--i,0) * -34px))}}.toolstack--etendu .tool-bulle{width:32px;height:32px}.toolstack--etendu .tool-bulle img{width:16px;height:16px}.tool-nom{font:var(--fw-medium) var(--fs-compact) / var(--lh-ligne) var(--font-sans);animation:tool-nom-in var(--dur-slow) var(--ease-out) calc(var(--i,0) * var(--intro-stagger) / 2 + var(--dur-base)) backwards}@keyframes tool-nom-in{0%{opacity:0}}.grid-overlay{inset:0;left:var(--content-offset);width:var(--grid-w);gap:var(--grid-gutter);pointer-events:none;z-index:9999;transition:width var(--dur-base) var(--ease-out), left var(--dur-base) var(--ease-out);grid-template-columns:repeat(12,1fr);margin-inline:auto;display:grid;position:fixed}.grid-overlay>div{background:var(--grid-overlay-color)}.focus-marker{z-index:30;color:var(--color-text);pointer-events:none;will-change:transform;position:fixed;top:0;left:0}.focus-marker svg{fill:var(--color-bg);animation:marker-in var(--dur-slow) var(--ease-spring) backwards;display:block}@keyframes marker-in{0%{opacity:0;transform:scale(0)rotate(-45deg)}}.focus-marker-bob{animation:marker-bob calc(var(--dur-slow) * 2) ease-in-out infinite alternate;display:block}@keyframes marker-bob{to{transform:translate(-3px,-3px)}}.touche{min-width:22px;height:22px;padding:0 var(--space-1-5);--r:var(--rayon-m);background:var(--color-bg);border:1px solid var(--color-border-fort);box-shadow:0 2px 0 var(--color-border-fort);font:var(--fw-medium) var(--fs-legende) / var(--lh-ligne) var(--font-sans);color:var(--color-text);justify-content:center;align-items:center;display:inline-flex}.germe{bottom:var(--space-4);left:calc(var(--content-offset) + (100vw - var(--content-offset)) / 2);transform:translateX(calc(-50% + var(--germe-dx,0px)));z-index:10;cursor:var(--cursor-doigt), pointer;transition:left var(--dur-base) var(--ease-out), opacity var(--dur-base) var(--ease-out), translate var(--dur-base) var(--ease-out);position:fixed}.germe--haut{--germe-sens:1;top:calc(var(--space-4) + var(--safe-top));bottom:auto}.germe--cache{opacity:0;pointer-events:none;transition-duration:var(--dur-quick)}@media (prefers-reduced-motion:no-preference){.germe--cache{translate:0 calc(-1 * var(--germe-sens) * var(--germe-cache-dy))}}.barre-raccourcis{align-items:center;gap:var(--space-5);padding:var(--space-2-5) var(--space-4-5);--r:var(--rayon-xl);background:var(--color-bg);border:1px solid var(--color-border-fort);font:var(--fw-medium) var(--fs-legende) / var(--lh-ligne) var(--font-sans);color:var(--color-text-muted);white-space:nowrap;transition:box-shadow var(--dur-quick) var(--ease-out);display:flex;position:relative}.germe:hover .barre-raccourcis{box-shadow:var(--shadow-float)}.raccourci{align-items:center;gap:var(--space-1-5);display:inline-flex}.germe-bouton{font:inherit;color:inherit;background:0 0;border:0;padding:0}@media (prefers-reduced-motion:no-preference){.raccourci-mot{transition:opacity var(--dur-quick) var(--ease-out), font-size var(--dur-base) var(--ease-out)}.germe:hover .raccourci-mot{opacity:0;font-size:0}}.radial-item.selected{box-shadow:var(--focus-ring)}.reveal{opacity:0;transform:translateY(24px)}.reveal.revealed{animation:rise var(--dur-slow) var(--ease-spring-soft) var(--d,0s) both}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}.view{animation:view-in var(--dur-slow) var(--ease-spring-soft) backwards;transition:margin-left var(--dur-base) var(--ease-out), filter var(--dur-base) var(--ease-out)}.app:has(.dock :focus) .view{filter:var(--dim-filter)}.fenetre--docked:focus-within{box-shadow:var(--focus-ring)}@keyframes view-in{0%{opacity:0;transform:translateY(16px)}}.carousel.exiting .carousel-item:not(.leaving){transition:opacity var(--dur-base) var(--ease-out);pointer-events:none;opacity:0!important}.carousel-item.leaving{z-index:2;animation:post-liftoff var(--dur-slow) both;position:relative}.carousel-item,.projet-fin-hero{--liftoff-scale:calc((1 + 12 / var(--cols)) / 2)}@keyframes post-liftoff{0%{animation-timing-function:var(--ease-spring);transform:scale(1)}45%{transform:scale(var(--liftoff-scale));animation-timing-function:ease-in-out}58%{transform:scale(var(--liftoff-scale)) translateY(-3vh);animation-timing-function:cubic-bezier(.55,0,.85,.36)}to{transform:scale(calc(var(--liftoff-scale) * .95)) translateY(135vh)}}.view--projet{animation:view-slide-up var(--dur-slow) var(--ease-spring-soft) backwards}@keyframes view-slide-up{0%{transform:translateY(70vh)}}.projet-fin{height:calc(100svh + var(--switch-travel) * 1px);margin-top:var(--gap-sections-top)}.projet-fin-pin{place-items:center;height:100svh;display:grid;position:sticky;top:0}.projet-fin-hero{--cols:6;aspect-ratio:1184/864;object-fit:cover;--r:var(--rayon-2xl);transform:scale(calc(.85 + .15 * var(--switch-progress,0)));will-change:transform}.projet-fin-pin.leaving .projet-fin-hero{animation:post-liftoff var(--dur-slow) both}.projet-hero-wrap{margin-inline:calc((100% - var(--span)) / 2);margin-top:var(--gap-hero-top)}.projet-hero{aspect-ratio:1184/864;object-fit:cover;--r:var(--rayon-2xl);width:100%}.apercu{margin:var(--space-16) auto var(--space-6);max-width:none;margin-inline:calc((100% - var(--span)) / 2)}.apercu-chassis{aspect-ratio:16/9;background:var(--color-bg);border:1px solid var(--color-border);--r:var(--rayon-l);width:100%;box-shadow:var(--shadow-window);position:relative}.apercu-ecran{border-radius:inherit;corner-shape:inherit;position:absolute;inset:0;overflow:hidden}.apercu-iframe{width:calc(100% / var(--apercu-scale));height:calc(100% / var(--apercu-scale));transform:scale(var(--apercu-scale));transform-origin:0 0;background:var(--color-bg);pointer-events:none;opacity:0;transition:opacity var(--dur-base) var(--ease-out);border:0;display:block}.apercu--live .apercu-iframe{opacity:1}.apercu--interactif .apercu-iframe{pointer-events:auto}.apercu-poster{object-fit:cover;pointer-events:none;width:100%;height:100%;transition:opacity var(--dur-base) var(--ease-out);position:absolute;inset:0}.apercu--live .apercu-poster{opacity:0}.apercu-ecran:has(.apercu-ouvrir) .apercu-poster{object-position:var(--poster-ancrage-repli);transform-origin:var(--poster-ancrage-repli);transform:scale(var(--poster-zoom-repli))}.apercu-ouvrir{z-index:1;padding:var(--space-4);background:0 0;border:0;justify-content:center;align-items:flex-end;display:flex;position:absolute;inset:0}.apercu-ouvrir-label,.apercu-clavier{min-height:var(--touch-target);padding:var(--space-2) var(--space-4);--r:var(--rayon-xl);background:var(--color-bg);border:1px solid var(--color-border-fort);box-shadow:var(--shadow-float);font:var(--fw-medium) var(--fs-legende) / var(--lh-ligne) var(--font-sans);color:var(--color-text);white-space:nowrap;align-items:center;display:inline-flex}.apercu-clavier{top:var(--space-3);left:var(--space-3);z-index:2;opacity:0;pointer-events:none;transition:opacity var(--dur-quick) var(--ease-out);position:absolute}.apercu-clavier:focus-visible{opacity:1}.apercu-plein{z-index:30;background:var(--color-veil);animation:veil-in var(--dur-base) var(--ease-out) backwards;padding:calc(var(--plein-inset) + var(--safe-top)) var(--plein-inset) calc(var(--plein-inset) + var(--safe-bottom));position:fixed;inset:0}.apercu-plein-fenetre{background:var(--color-bg);border:1px solid var(--color-border);--r:var(--rayon-l);width:100%;height:100%;box-shadow:var(--shadow-window);position:relative;overflow:hidden}.apercu-plein-iframe{border-radius:inherit;corner-shape:inherit;border:0;width:100%;height:100%;display:block}.apercu-plein-fermer{top:calc(var(--plein-inset) + var(--safe-top) + var(--space-2));right:calc(var(--plein-inset) + var(--space-2));z-index:1;position:absolute;transform:scale(1)}.apercu-plein-fermer:hover{transform:scale(var(--hover-scale-tuile)) translateY(var(--hover-lift));box-shadow:var(--shadow-window)}.carte-aurora{width:100%;aspect-ratio:var(--apercu-carte-ratio);--r:var(--rayon-2xl);background:url(/previews/fond-aurora.jpg) 50%/cover;place-items:center;display:grid;position:relative;overflow:hidden;container-type:size}.apercu-packshot{width:min(var(--apercu-bout-w), calc(100cqw * var(--apercu-bout-frac)), calc(100cqh * var(--apercu-bout-frac) * var(--apercu-bout-ratio)));aspect-ratio:var(--apercu-bout-ratio);background:var(--color-bg);border:1px solid var(--color-border);--r:var(--rayon-l);box-shadow:var(--shadow-packshot);opacity:0;transition:opacity var(--dur-base) var(--ease-out);position:relative}.apercu--live .apercu-packshot{opacity:1}.apercu-caption{margin-top:var(--space-3);text-align:center}.diptyque{width:100%;height:100%;position:relative}.diptyque .apercu-packshot{width:min(var(--apercu-bout-w), calc(100cqw * var(--diptyque-frac)));position:absolute}.diptyque-a{--diptyque-frac:var(--diptyque-a-frac);left:calc(100cqw * var(--diptyque-a-x));top:calc(100cqh * var(--diptyque-a-y))}.diptyque-b{--diptyque-frac:var(--diptyque-b-frac);right:calc(100cqw * var(--diptyque-b-x));top:calc(100cqh * var(--diptyque-b-y))}@media (width<=640px){:is(.carte-aurora:has(.diptyque),.carte-aurora:has(.terminal),.carte-aurora:has(.apercu-packshot)){aspect-ratio:auto;padding:var(--carte-pile-pad);container-type:inline-size}.carte-aurora>.apercu-packshot{width:min(var(--apercu-bout-w), 100cqw)}.carte-aurora:has(.apercu-ouvrir){padding-bottom:calc(var(--carte-pile-pad) + var(--touch-target) + var(--space-3))}.diptyque{align-items:center;gap:var(--carte-pile-gap);flex-direction:column;height:auto;display:flex}.diptyque .apercu-packshot{width:min(var(--apercu-bout-w), 100cqw);position:relative;inset:auto}}.terminal{max-width:calc(100cqw * var(--apercu-bout-frac));max-height:calc(100cqh * var(--apercu-bout-frac));background:var(--color-surface-dark);--r:var(--rayon-l);box-shadow:var(--shadow-packshot);font-family:var(--font-mono);font-size:var(--terminal-fs);line-height:var(--terminal-lh);color:var(--color-text-inverse);overflow:hidden}.terminal-titre{padding:var(--space-2-5) var(--terminal-pad-x);border-bottom:1px solid var(--color-border-inverse);color:var(--color-text-inverse-muted);margin:0}.terminal-corps{padding:var(--terminal-pad-y) var(--terminal-pad-x);font:inherit;white-space:pre;margin:0;overflow-x:auto}@media (width<=640px){.terminal{max-width:100%;max-height:none}.terminal-corps{white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:visible}}.ds .apercu{width:100%;margin:0}.fenetre.fenetre--feuille{inset-inline:0;width:100%;box-shadow:var(--shadow-sheet);z-index:25;animation:feuille-in var(--dur-slow) var(--ease-spring) backwards;border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0;transition:none;bottom:0}.fenetre.fenetre--feuille:hover{box-shadow:var(--shadow-sheet);translate:none}@keyframes feuille-in{0%{transform:translateY(100%)}}.fenetre.fenetre--feuille.closing{animation:feuille-out var(--dur-base) var(--ease-out) both;pointer-events:none}@keyframes feuille-out{to{transform:translateY(100%)}}.fenetre--feuille .fenetre-handle{min-height:var(--touch-target);align-items:center}.fenetre--feuille .fenetre-body{max-height:calc(var(--sheet-max) - var(--safe-bottom));padding-bottom:calc(var(--space-3) + var(--safe-bottom))}.feuille-backdrop{z-index:24;background:var(--color-veil);animation:veil-in var(--dur-base) var(--ease-out) backwards;transition:opacity var(--dur-base) var(--ease-out);position:fixed;inset:0}.feuille-backdrop.closing{opacity:0;pointer-events:none}.barre-mobile{bottom:calc(var(--space-4) + var(--safe-bottom));align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:var(--space-2) var(--space-4) var(--space-2) var(--space-3);--r:var(--rayon-xl);background:var(--color-bg);border:1px solid var(--color-border-fort);z-index:10;font:var(--fw-medium) var(--fs-legende) / var(--lh-ligne) var(--font-sans);color:var(--color-text);white-space:nowrap;transition:transform var(--dur-base) var(--ease-spring), opacity var(--dur-base) var(--ease-out), translate var(--dur-base) var(--ease-out), box-shadow var(--dur-quick) var(--ease-out);display:none;position:fixed;left:50%;translate:-50%}.barre-mobile--cache{opacity:0;pointer-events:none;transition-duration:var(--dur-quick)}@media (prefers-reduced-motion:no-preference){.barre-mobile--cache{translate:-50% calc(-1 * var(--germe-sens) * var(--germe-cache-dy))}}.barre-mobile--haut{--germe-sens:1;top:calc(var(--space-4) + var(--safe-top));bottom:auto}.barre-hint{bottom:calc(var(--space-4) + var(--safe-bottom) + var(--touch-target) + var(--space-2));left:calc(var(--content-offset) + (100vw - var(--content-offset)) / 2);max-width:calc(100vw - 2 * var(--grid-margin));padding:var(--space-2-5) var(--space-4-5);--r:var(--rayon-xl);background:var(--color-bg);border:1px solid var(--color-border);box-shadow:var(--shadow-float);z-index:10;font:var(--fw-regular) var(--fs-legende) / var(--lh-section) var(--font-sans);color:var(--color-text-muted);text-align:center;animation:rise var(--dur-slow) var(--ease-spring-soft) backwards;transition:opacity var(--dur-base) var(--ease-out);margin:0;position:fixed;translate:-50%}.barre-hint--haut{top:calc(var(--barre-bande) + var(--space-2));bottom:auto}.barre-hint:before{content:"";bottom:calc(var(--hint-pointe) / -2);width:var(--hint-pointe);height:var(--hint-pointe);background:var(--color-bg);border:1px solid var(--color-border);z-index:-1;border-top-color:#0000;border-left-color:#0000;position:absolute;left:50%;translate:-50%;rotate:45deg}.barre-hint--haut:before{top:calc(var(--hint-pointe) / -2);border-color:var(--color-border);border-bottom-color:#0000;border-right-color:#0000;bottom:auto}.barre-hint b{color:var(--color-text);font-weight:var(--fw-medium)}.barre-hint--out{opacity:0;pointer-events:none}@keyframes barre-appel{50%{scale:1.04}}@media (prefers-reduced-motion:no-preference){.germe--tuto .barre-raccourcis,.barre-mobile--tuto{animation:barre-appel var(--dur-slow) var(--ease-spring-soft) 3}}.barre-mobile--demo{display:inline-flex;position:static;translate:none}@media (hover:none) and (pointer:coarse){.btn:active,.tuile:not(.radial-item):active,.ds-chip:active,.ds-swatch:active,.ds-copiable:active{transform:scale(var(--press-scale));box-shadow:none;transition:transform var(--dur-quick) var(--ease-out), box-shadow var(--dur-quick) var(--ease-out)}@keyframes presse-descente{to{transform:scale(var(--press-scale));box-shadow:none}}.germe{display:none}.barre-mobile{display:inline-flex}.btn{min-height:var(--touch-target)}.btn--icone,.fenetre-action{width:var(--touch-target);height:var(--touch-target)}.radial-backdrop{background:var(--color-veil);animation:veil-in var(--dur-base) var(--ease-out) backwards;transition:opacity var(--dur-base) var(--ease-out)}.radial-backdrop.closing{opacity:0}.radial-item:active{--s:var(--press-scale)}.radial-item[data-action=projets].selected svg{animation:icon-pop var(--dur-base) var(--ease-spring)}.radial-item[data-action=profil].selected svg{animation:icon-nod var(--dur-slow) var(--ease-spring)}.radial-item[data-action=contact].selected svg{animation:icon-jump var(--dur-slow) var(--ease-spring)}.radial-item[data-action=vibe].selected svg{animation:icon-groove var(--dur-slow) var(--ease-spring)}.radial-item[data-action=retour].selected svg{animation:icon-rewind var(--dur-slow) var(--ease-spring)}.radial-item[data-action=design].selected svg{animation:icon-paint var(--dur-slow) var(--ease-spring)}.radial-item[data-action=langue].selected svg{animation:icon-flip var(--dur-slow) var(--ease-spring)}}@media (width<=640px){.germe{display:none}.barre-mobile{display:inline-flex}}@keyframes veil-in{0%{opacity:0}}
