/* Styles de l'intro, repris tels quels de claude-preview/css/atelier.css (lignes 8 à 16 et 104 à 111). */
:root{--paper:#f5f5f2;--gutter:clamp(24px,5vw,76px);--mono:ui-monospace,"SFMono-Regular",Menlo,monospace}
.grain-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:var(--paper)}
.grain-bg img{position:absolute;left:0;top:0;max-width:none;opacity:0;transition:opacity 500ms ease;user-select:none}
.grain-bg.is-loaded img{opacity:1}.grain-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 24%,#fffffff0 0%,#f6f6f4cc 55%,#e7e7e2a3 100%);opacity:1;transition:opacity 1000ms ease}
html.intro-running .grain-bg::after{opacity:0}
.portfolio{position:relative;transition:opacity 450ms ease}
html.intro-running .portfolio,html.intro-leaving-portfolio .portfolio{opacity:0}
html.intro-running,html.intro-running body{overflow:hidden}
html.intro-leaving-portfolio .portfolio{transition-duration:380ms}
.intro{position:fixed;inset:0;z-index:30;overflow:hidden;pointer-events:none;opacity:0}
.intro__hand{position:absolute;max-width:none;will-change:transform;user-select:none;-webkit-user-drag:none}
.intro__light{position:fixed;inset:0;width:100%;height:100%;z-index:31;pointer-events:none}
.intro__ascii{position:absolute;inset:0;width:100%;height:100%;display:none}.intro--ascii .intro__ascii{display:block}.intro--ascii .intro__hand{visibility:hidden}
html.intro-ascii.intro-running .grain-bg img{opacity:.4}
.intro__skip{display:none!important}
