@font-face{unicode-range:u+0020-007e,u+00a0-00ff,u+0152-0153,u+0178,u+2013-2014,u+2018-201a,u+201c-201e,u+2022,u+2026,u+202f,u+2039-203a,u+20ac,u+2122,u+2191,u+2193;font-family:inter;src:url(/_next/static/media/b405abc2193c09d8-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:inter Fallback;src:local("Arial");ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.00%;size-adjust:107.89%}.__className_65916a{font-family:inter,inter Fallback;font-style:normal}.__variable_65916a{--font-inter:"inter","inter Fallback"}@font-face{unicode-range:u+0020-007e,u+00a0-00ff,u+0152-0153,u+0178,u+2013-2014,u+2018-201a,u+201c-201e,u+2022,u+2026,u+202f,u+2039-203a,u+20ac,u+2122,u+2191,u+2193;font-family:jetbrainsMono;src:url(/_next/static/media/4a590697fde96f8e-s.p.woff2) format("woff2");font-display:swap;font-weight:100 800;font-style:normal}@font-face{font-family:jetbrainsMono Fallback;src:local("Arial");ascent-override:77.57%;descent-override:22.82%;line-gap-override:0.00%;size-adjust:131.49%}.__className_2d1fbb{font-family:jetbrainsMono,jetbrainsMono Fallback;font-style:normal}.__variable_2d1fbb{--font-mono:"jetbrainsMono","jetbrainsMono Fallback"}@font-face{unicode-range:u+0020-007e,u+00a0,u+00ab,u+00bb,u+00c0-00ff,u+0152-0153,u+0178,u+2013-2014,u+2019,u+2026;font-family:bricolageGrotesque;src:url(/_next/static/media/c5dc6738a7894b85.p.woff2) format("woff2");font-display:swap;font-weight:700;font-style:normal}.__className_dc1d8c{font-family:bricolageGrotesque;font-weight:700;font-style:normal}.__variable_dc1d8c{--font-display:"bricolageGrotesque"}*,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}
/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:var(--font-inter),ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--font-mono),ui-monospace,SFMono-Regular,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*,:after,:before{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-padding-top:var(--anchor-offset)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;overflow-x:hidden;background-color:rgb(var(--color-canvas));color:rgb(var(--color-ink))}::selection{background:rgb(var(--color-accent)/.3);color:rgb(var(--color-ink))}figcaption,h1,h2,h3,h4{text-wrap-style:balance}:where(p,li,dd,.speech-bubble,.speech-bubble-side){text-wrap-style:pretty}@media (max-width:767.98px){:where(.card-why,.built-text){hyphens:auto;hyphenate-limit-chars:7 3 3;text-wrap-style:auto}.phone-glue{text-wrap-mode:nowrap}}:where(.now-list li,.carnet-list li){hyphens:auto;hyphenate-limit-chars:7 3 3;text-wrap-style:auto}@media (min-width:768px){:where(main p:not(.font-mono,.speech-bubble,.speech-bubble-side,.timeline-company,.card-why,.built-text,.ragged)){text-align:justify;hyphens:auto;hyphenate-limit-chars:7 3 3;text-wrap-style:auto}}.nav-link{display:flex;min-height:2.75rem;align-items:center;border-radius:var(--radius-sm);padding-left:.75rem;padding-right:.75rem;font-size:.875rem;line-height:1.25rem;color:rgb(var(--color-ink-muted)/1);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.nav-link:hover{color:rgb(var(--color-ink)/1)}.nav-link[aria-current=true]{background-color:rgb(var(--color-accent)/.15);color:rgb(var(--color-accent)/1)}.quiet-link{border-radius:var(--radius-sm);background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from:rgb(var(--color-accent)/1) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--color-accent)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:rgb(var(--color-accent)/1) var(--tw-gradient-to-position);background-size:0 2px;background-position:0 100%;background-repeat:no-repeat;text-decoration-line:underline;text-decoration-color:rgb(var(--color-ink-muted)/.4);text-decoration-thickness:1px;text-underline-offset:4px;transition-property:color,text-decoration-color,background-size;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.quiet-link:hover{background-size:100% 2px;color:rgb(var(--color-ink)/1);text-decoration-color:transparent}.quiet-link:focus-visible{background-size:100% 2px;color:rgb(var(--color-ink)/1);text-decoration-color:transparent;outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:rgb(var(--color-accent)/1)}@media (prefers-reduced-motion:reduce){.quiet-link{transition-property:none}}.lift-card{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.lift-card:hover{border-color:rgb(var(--color-accent)/.6);--tw-shadow:0 14px 28px -16px rgb(var(--color-accent)/0.5);--tw-shadow-colored:0 14px 28px -16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (prefers-reduced-motion:no-preference){.lift-card:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}@media (prefers-reduced-motion:reduce){.lift-card{transition-property:none}}.project-card{display:flex;height:100%;flex-direction:column;border-radius:var(--radius-md);border-width:1px;background-color:rgb(var(--color-surface)/1);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.project-card:hover{border-color:rgb(var(--color-accent)/.6);--tw-shadow:0 14px 28px -16px rgb(var(--color-accent)/0.5);--tw-shadow-colored:0 14px 28px -16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (prefers-reduced-motion:no-preference){.project-card:hover{--tw-translate-y:-0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}@media (prefers-reduced-motion:reduce){.project-card{transition-property:none}}.phone-row{margin-bottom:1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}@media (min-width:640px){.phone-row{gap:.75rem}}@media (min-width:768px){.phone-row{flex:1 1 0%;align-content:center;border-radius:var(--radius-lg);background-color:rgb(var(--color-canvas)/1);padding:.5rem}}.phone-frame{display:block;border-radius:.75rem;border-width:1px;border-color:rgb(var(--color-line)/1);background-color:rgb(var(--color-canvas)/1);padding:.25rem}.phone-frame>img{display:block;height:auto;width:100%;border-radius:var(--radius-lg)}.phone-caption{margin-top:.25rem;text-align:center;font-family:var(--font-mono),ui-monospace,SFMono-Regular,monospace;font-size:.75rem;line-height:1rem;color:rgb(var(--color-ink-muted)/1)}.card-title{font-weight:700;letter-spacing:-.025em}.card-title,.card-why{color:rgb(var(--color-ink)/1)}.card-why{margin-top:.5rem;max-width:42rem;line-height:1.625}.status-badge{border-radius:var(--radius-sm);border-width:1px;border-color:rgb(var(--color-aurora)/.4);padding:.125rem .5rem;color:rgb(var(--color-aurora)/1)}.tech-list{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.5rem}.built-summary{margin-left:-.25rem;display:inline-flex;min-height:2.75rem;cursor:pointer;list-style-type:none;align-items:center;gap:.5rem;border-radius:var(--radius-sm);padding-left:.25rem;padding-right:.25rem;font-family:var(--font-mono),ui-monospace,SFMono-Regular,monospace;font-size:.875rem;line-height:1.25rem;color:rgb(var(--color-ink-muted)/1)}.built-summary:hover{color:rgb(var(--color-accent)/1)}.built-summary:focus-visible{color:rgb(var(--color-accent)/1);outline-style:solid;outline-width:2px;outline-offset:2px;outline-color:rgb(var(--color-accent)/1)}.built-summary::-webkit-details-marker{display:none}.built-chevron{display:inline-block}.group\/built[open] .built-chevron{--tw-rotate:90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.built-text{margin-top:.25rem;max-width:42rem;font-size:.875rem;line-height:1.25rem;line-height:1.625;color:rgb(var(--color-ink-muted)/1)}.card-link{display:inline-flex;min-height:2.75rem;align-items:center;gap:.5rem;border-radius:var(--radius-sm);font-size:.875rem;line-height:1.25rem;font-weight:500;color:rgb(var(--color-accent)/1)}.card-link-label{text-decoration-line:underline;text-decoration-color:rgb(var(--color-accent)/.4);text-underline-offset:4px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.group:hover .card-link-label{text-decoration-color:rgb(var(--color-accent)/1)}@media (prefers-reduced-motion:reduce){.card-link-label{transition-property:none}}.card-link-arrow{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.group:hover .card-link-arrow{--tw-translate-x:0.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (prefers-reduced-motion:reduce){.card-link-arrow{transition-property:none}}.tech-tag{background-color:rgb(var(--color-canvas)/1);padding:.125rem .625rem}.skill-pill,.tech-tag{border-radius:var(--radius-sm);border-width:1px;border-color:rgb(var(--color-line)/1);font-family:var(--font-mono),ui-monospace,SFMono-Regular,monospace;font-size:.75rem;line-height:1rem;color:rgb(var(--color-ink)/1)}.skill-pill{white-space:nowrap;background-color:rgb(var(--color-surface)/1);padding:.125rem .5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.skill-pill:hover{border-color:rgb(var(--color-accent)/1)}@media (prefers-reduced-motion:no-preference){.skill-pill:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}@media (prefers-reduced-motion:reduce){.skill-pill{transition-property:none}}@media (min-width:768px){.skill-pill{padding:.25rem .625rem;font-size:.875rem;line-height:1.25rem}}.timeline-rail{position:relative;padding-left:.125rem}.timeline-rail:before{position:absolute;top:0;bottom:0;left:0;width:.125rem;content:var(--tw-content);background-color:rgb(var(--color-line)/1)}@media (min-width:1024px){.timeline-rail{padding-left:0}.timeline-rail:before{content:var(--tw-content);left:calc(16rem - 1px)}}.timeline-entry{position:relative;margin-bottom:2rem;padding-left:1.5rem}.timeline-entry:last-child{margin-bottom:0}@media (min-width:768px){.timeline-entry{margin-bottom:3rem;padding-left:2rem}}@media (min-width:1024px){.timeline-entry{margin-bottom:2.5rem;display:grid;grid-template-columns:15rem minmax(0,1fr);grid-template-rows:auto auto 1fr;align-items:baseline;column-gap:2rem;padding-left:0}}.timeline-dot{position:absolute;left:-9px;top:.5rem;height:1rem;width:1rem;border-radius:9999px;border-width:2px;border-color:rgb(var(--color-accent)/1)}@media (min-width:1024px){.timeline-dot{left:calc(16rem - 8px)}}.timeline-title{font-size:1.25rem;line-height:1.75rem;font-weight:700;color:rgb(var(--color-ink)/1)}@media (min-width:1024px){.timeline-title{grid-column-start:2;grid-row-start:1}}.timeline-company{margin-top:.25rem;color:rgb(var(--color-ink)/1)}@media (min-width:1024px){.timeline-company{grid-column-start:1;grid-row-start:2;margin-top:.75rem}}.timeline-dates{margin-top:.25rem;font-family:var(--font-mono),ui-monospace,SFMono-Regular,monospace;font-size:.875rem;line-height:1.25rem;color:rgb(var(--color-accent)/1)}@media (min-width:1024px){.timeline-dates{grid-column-start:1;grid-row-start:1;margin-top:0}}.timeline-facts{margin-top:.75rem;list-style-type:disc}.timeline-facts>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.timeline-facts{padding-left:1.25rem;color:rgb(var(--color-ink-muted)/1)}@media (min-width:1024px){.timeline-facts{grid-column-start:2;grid-row:span 2/span 2;grid-row-start:2;max-width:38rem}}.timeline-tags{margin-top:.75rem;display:flex;flex-wrap:wrap;gap:.5rem}@media (min-width:1024px){.timeline-tags{grid-column-start:1;grid-row-start:3;align-self:flex-start}}.pile-item{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.5rem;color:rgb(var(--color-ink)/1);--tw-shadow:inset 0 -1px 0 rgb(var(--color-canvas)/0.6);--tw-shadow-colored:inset 0 -1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (prefers-reduced-motion:no-preference){.pile-item{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.pile-item:hover{--tw-translate-x:0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}.hero-action{display:inline-flex;min-height:2.75rem;width:100%;align-items:center;justify-content:center;border-radius:var(--radius-md);border-width:1px;padding:.75rem 1.5rem;font-size:1rem;line-height:1.5rem;font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (min-width:640px){.hero-action{width:auto}}.speech-bubble{position:relative;margin-top:.75rem;border-radius:1rem;border-width:2px;border-color:rgb(var(--color-ink)/1);padding:.375rem .75rem;font-size:.875rem;line-height:1.25rem;color:rgb(var(--color-ink)/1)}.speech-bubble,.speech-bubble:before{background-color:rgb(var(--color-surface)/1)}.speech-bubble:before{position:absolute;top:-7px;left:2rem;height:.75rem;width:.75rem;--tw-rotate:45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-left-width:2px;border-top-width:2px;border-color:rgb(var(--color-ink)/1);content:var(--tw-content)}.speech-bubble-side{position:relative;max-width:30rem;border-radius:1rem;border-width:2px;border-color:rgb(var(--color-ink)/1);background-color:rgb(var(--color-surface)/1);padding:.75rem 1rem;color:rgb(var(--color-ink)/1)}.speech-bubble-side:before{position:absolute;left:-7px;top:1.75rem;height:.75rem;width:.75rem;--tw-rotate:45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-bottom-width:2px;border-left-width:2px;border-color:rgb(var(--color-ink)/1);content:var(--tw-content);background-color:rgb(var(--color-surface)/1)}@media (min-width:768px){.speech-bubble-side{padding-left:1.25rem;padding-right:1.25rem;font-size:1.125rem;line-height:1.75rem}}.passion-photo{width:7rem;flex-shrink:0;--tw-rotate:2deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-radius:var(--radius-sm);border-width:1px;border-color:rgb(var(--color-line)/1);background-color:rgb(var(--color-surface)/1);padding:.375rem;--tw-shadow:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.passion-photo,.passion-photo:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.passion-photo:hover{--tw-shadow:0 14px 28px -16px rgb(var(--color-accent)/0.5);--tw-shadow-colored:0 14px 28px -16px var(--tw-shadow-color)}@media (prefers-reduced-motion:no-preference){.passion-photo:hover{--tw-translate-y:-0.25rem;--tw-rotate:0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}@media (prefers-reduced-motion:reduce){.passion-photo{transition-property:none}}@media (min-width:1024px){.passion-photo{width:9rem}}.passion-photo img{display:block;height:auto;width:100%}.passion-photo figcaption{margin-top:.375rem;text-align:center;font-size:.8125rem;font-style:italic;line-height:1.375;color:rgb(var(--color-ink-muted)/1)}.pile-spine{padding:.25rem 1.5rem .375rem}.pile-spine:before{left:.625rem}.pile-spine:after,.pile-spine:before{position:absolute;top:.25rem;bottom:.25rem;width:1px;content:var(--tw-content);background-color:rgb(var(--color-ink)/.3)}.pile-spine:after{right:.625rem}@media not all and (min-width:640px){.pile-spine{padding-left:1.25rem;padding-right:1.25rem;font-size:.9375rem}}.pile-spine-collector{min-height:3rem;align-content:center}.pile-spine-collector:after,.pile-spine-collector:before{width:.375rem;border-left-width:2px;border-right-width:2px;border-color:rgb(var(--color-accent)/1);content:var(--tw-content);background-color:transparent}.section-band{isolation:isolate;background-color:rgb(var(--color-band)/1)}.section-band:before{pointer-events:none;position:absolute;inset:0;content:var(--tw-content);z-index:-10}.picker{flex-wrap:wrap;align-items:center;column-gap:.5rem;row-gap:.5rem;font-family:var(--font-mono),ui-monospace,SFMono-Regular,monospace;color:rgb(var(--color-ink-muted)/1)}@media (min-width:640px){.picker{column-gap:.75rem}}.picker-choice{display:inline-flex;min-height:1.5rem;min-width:1.5rem;align-items:center;justify-content:center;white-space:nowrap;border-radius:var(--radius-sm);padding-left:.25rem;padding-right:.25rem;color:rgb(var(--color-accent)/1);text-underline-offset:4px}.picker-choice:hover{text-decoration-line:underline}.picker-choice[aria-pressed=true]{font-weight:700;color:rgb(var(--color-ink)/1)}.picker-choice:hover[aria-pressed=true]{text-decoration-line:none}.picker-worlds{justify-content:inherit}@media not all and (min-width:768px){.picker-worlds{max-width:26rem}}.picker-head{margin-right:.25rem;image-rendering:pixelated}@media (forced-colors:active){.picker-head{forced-color-adjust:none}}.picker-shown{margin-left:1ch;font-weight:400}.picker-choice[data-shown]:not([aria-pressed=true]){text-decoration-line:underline;text-decoration-thickness:2px}.about-photo{float:right;margin-left:1rem;margin-top:2rem;flex-shrink:0;shape-margin:.375rem;shape-outside:circle(50% at 50% 53%) content-box}@media (min-width:768px){.about-photo{float:none;margin:0}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.bottom-auto{bottom:auto}.bottom-full{bottom:100%}.left-1\/2{left:50%}.top-0{top:0}.top-\[var\(--header-height\)\]{top:var(--header-height)}.z-50{z-index:50}.z-\[60\]{z-index:60}.col-span-2{grid-column:span 2/span 2}.col-start-2{grid-column-start:2}.row-start-1{grid-row-start:1}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.-mb-6{margin-bottom:-1.5rem}.-ml-1{margin-left:-.25rem}.-ml-6{margin-left:-1.5rem}.-mr-3\.5{margin-right:-.875rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-0{margin-left:0}.ml-\[1\%\]{margin-left:1%}.ml-\[2\%\]{margin-left:2%}.ml-\[3\%\]{margin-left:3%}.ml-\[5\%\]{margin-left:5%}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.flow-root{display:flow-root}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-24{height:6rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-60{height:15rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-auto{height:auto}.h-full{height:100%}.min-h-11{min-height:2.75rem}.min-h-svh{min-height:100svh}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-32{width:8rem}.w-4{width:1rem}.w-8{width:2rem}.w-\[11\.25rem\]{width:11.25rem}.w-\[7\.5rem\]{width:7.5rem}.w-\[92\%\]{width:92%}.w-\[93\%\]{width:93%}.w-\[95\%\]{width:95%}.w-\[96\%\]{width:96%}.w-full{width:100%}.min-w-0{min-width:0}.min-w-11{min-width:2.75rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-\[34rem\]{max-width:34rem}.max-w-\[40rem\]{max-width:40rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.-scroll-mt-section-y{scroll-margin-top:calc(var(--space-section-y) * -1)}.list-none{list-style-type:none}.grid-cols-\[minmax\(0\2c 1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-2{column-gap:.5rem}.gap-x-3{column-gap:.75rem}.gap-x-4{column-gap:1rem}.gap-x-6{column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.gap-y-4{row-gap:1rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-line>:not([hidden])~:not([hidden]){border-color:rgb(var(--color-line)/1)}.self-start{align-self:flex-start}.justify-self-center{justify-self:center}.overflow-x-clip{overflow-x:clip}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:var(--radius-sm)}.rounded-full{border-radius:9999px}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-width:1px}.border-2{border-width:2px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-t{border-top-width:1px}.border-accent{border-color:rgb(var(--color-accent)/1)}.border-accent\/30{border-color:rgb(var(--color-accent)/.3)}.border-accent\/40{border-color:rgb(var(--color-accent)/.4)}.border-aurora\/40{border-color:rgb(var(--color-aurora)/.4)}.border-line{border-color:rgb(var(--color-line)/1)}.bg-accent{background-color:rgb(var(--color-accent)/1)}.bg-accent\/10{background-color:rgb(var(--color-accent)/.1)}.bg-accent\/15{background-color:rgb(var(--color-accent)/.15)}.bg-aurora{background-color:rgb(var(--color-aurora)/1)}.bg-canvas{background-color:rgb(var(--color-canvas)/1)}.bg-canvas\/90{background-color:rgb(var(--color-canvas)/.9)}.bg-spine-moss{background-color:rgb(var(--color-spine-moss)/1)}.bg-spine-ocean{background-color:rgb(var(--color-spine-ocean)/1)}.bg-spine-plum{background-color:rgb(var(--color-spine-plum)/1)}.bg-spine-rust{background-color:rgb(var(--color-spine-rust)/1)}.bg-spine-slate{background-color:rgb(var(--color-spine-slate)/1)}.bg-surface{background-color:rgb(var(--color-surface)/1)}.bg-surface\/60{background-color:rgb(var(--color-surface)/.6)}.bg-transparent{background-color:transparent}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.from-surface{--tw-gradient-from:rgb(var(--color-surface)/1) var(--tw-gradient-from-position);--tw-gradient-to:rgb(var(--color-surface)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-canvas{--tw-gradient-to:rgb(var(--color-canvas)/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgb(var(--color-canvas)/1) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-canvas{--tw-gradient-to:rgb(var(--color-canvas)/1) var(--tw-gradient-to-position)}.object-cover{object-fit:cover}.p-4{padding:1rem}.p-5{padding:1.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-section-x{padding-left:var(--space-section-x);padding-right:var(--space-section-x)}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-section-y{padding-top:var(--space-section-y);padding-bottom:var(--space-section-y)}.pb-12{padding-bottom:3rem}.pb-section-y{padding-bottom:var(--space-section-y)}.pl-6{padding-left:1.5rem}.pt-10{padding-top:2.5rem}.pt-12{padding-top:3rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-px{padding-top:1px}.font-display{font-family:var(--font-display),var(--font-inter),ui-sans-serif,system-ui,sans-serif}.font-mono{font-family:var(--font-mono),ui-monospace,SFMono-Regular,monospace}.font-sans{font-family:var(--font-inter),ui-sans-serif,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.8125rem\]{font-size:.8125rem}.text-base{font-size:1rem;line-height:1.5rem}.text-base\/7{font-size:1rem;line-height:1.75rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.lowercase{text-transform:lowercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-tight{letter-spacing:-.025em}.text-accent{color:rgb(var(--color-accent)/1)}.text-accent\/80{color:rgb(var(--color-accent)/.8)}.text-aurora{color:rgb(var(--color-aurora)/1)}.text-canvas{color:rgb(var(--color-canvas)/1)}.text-ink{color:rgb(var(--color-ink)/1)}.text-ink-muted{color:rgb(var(--color-ink-muted)/1)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.outline{outline-style:solid}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\[-webkit-backdrop-filter\:blur\(12px\)\]{-webkit-backdrop-filter:blur(12px)}.\[backdrop-filter\:blur\(12px\)\]{backdrop-filter:blur(12px)}.\[filter\:blur\(64px\)\]{filter:blur(64px)}.\[image-rendering\:pixelated\]{image-rendering:pixelated}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}:root{color-scheme:dark;--color-canvas:11 13 18;--color-surface:19 22 29;--color-line:35 39 51;--color-ink:232 230 227;--color-ink-muted:161 161 170;--color-accent:224 181 74;--color-aurora:94 234 212;--color-spine-plum:67 42 79;--color-spine-ocean:30 63 86;--color-spine-moss:47 70 48;--color-spine-rust:86 48 31;--color-spine-slate:52 58 82;--color-band:16 19 27;--color-band-texture:51 56 74;--radius-sm:0.375rem;--radius-md:0.625rem;--radius-lg:1rem;--space-section-x:1.5rem;--space-section-y:3rem;--header-height:3.5625rem;--anchor-offset:calc(var(--header-height) + 1rem)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;--color-canvas:247 243 234;--color-surface:255 253 248;--color-line:226 217 198;--color-ink:27 29 38;--color-ink-muted:85 87 106;--color-accent:112 82 0;--color-aurora:13 107 99;--color-spine-plum:236 224 241;--color-spine-ocean:217 232 242;--color-spine-moss:223 234 216;--color-spine-rust:242 224 211;--color-spine-slate:225 228 238;--color-band:239 231 214;--color-band-texture:230 220 198}}:root[data-theme=light]{color-scheme:light;--color-canvas:247 243 234;--color-surface:255 253 248;--color-line:226 217 198;--color-ink:27 29 38;--color-ink-muted:85 87 106;--color-accent:112 82 0;--color-aurora:13 107 99;--color-spine-plum:236 224 241;--color-spine-ocean:217 232 242;--color-spine-moss:223 234 216;--color-spine-rust:242 224 211;--color-spine-slate:225 228 238;--color-band:239 231 214;--color-band-texture:230 220 198}:root:is(:not([data-rendu]),[data-rendu=papier]) .hero-action.bg-accent{--accent-fill:181 130 0;--accent-fill-deep:176 124 0;background-color:light-dark(rgb(var(--accent-fill)),rgb(var(--color-accent)));color:light-dark(rgb(var(--color-ink)),rgb(var(--color-canvas)));box-shadow:0 4px 0 light-dark(rgb(var(--color-accent)),transparent)}:root:is(:not([data-rendu]),[data-rendu=papier]) .hero-action.bg-accent:focus-visible{background-color:light-dark(rgb(var(--accent-fill-deep)),rgb(var(--color-accent)))}:root:is(:not([data-rendu]),[data-rendu=papier]) .hero-action.bg-accent:hover{background-color:light-dark(rgb(var(--accent-fill-deep)),rgb(var(--color-accent)/.85))}@supports not selector(:popover-open){#menu-principal[popover]{display:none}}:root[data-theme] .theme-toggle{display:inline-flex}:root[data-rendu] .picker{display:flex}.picker-choice[aria-pressed=false]>.picker-shown,.picker-shown:empty,.theme-icon{display:none}:root[data-theme=dark] .theme-icon-dark,:root[data-theme=light] .theme-icon-light,:root[data-theme=system] .theme-icon-system{display:block}.theme-words{display:none}@media (min-width:768px){.theme-words{display:grid;justify-items:start}}.theme-words>span{grid-area:1/1;visibility:hidden}:root[data-theme=dark] .theme-word-dark,:root[data-theme=light] .theme-word-light,:root[data-theme=system] .theme-word-system{visibility:visible}@media (prefers-reduced-motion:no-preference){::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}@view-transition{navigation:auto;types:page}:root:active-view-transition-type(page)::view-transition-old(root){animation:page-leave .15s ease-out both}:root:active-view-transition-type(page)::view-transition-new(root){animation:page-enter .3s ease-out both}@keyframes page-leave{to{opacity:0}}@keyframes page-enter{0%{opacity:0;transform:translateY(.5rem)}}:root:active-view-transition-type(saison) .hero-stage{view-transition-name:scene}:root:active-view-transition:not(:active-view-transition-type(page)) [data-navigation]{view-transition-name:header;background-color:rgb(var(--color-canvas))}::view-transition-group(header),::view-transition-group(scene),::view-transition-new(header),::view-transition-new(scene),::view-transition-old(header),::view-transition-old(scene){animation:none;mix-blend-mode:normal}}:root:not(:has([data-navigation])){--anchor-offset:2rem}@media (min-width:768px){:root{--space-section-y:4.5rem}}@media (min-width:1024px){:root{--space-section-y:6rem}}.boot-relay{position:relative;display:grid;gap:1.25rem}.boot-relay:before{content:"";position:absolute;inset:28px auto 28px 27px;border-left:2px dashed rgb(var(--color-line))}.boot-runner{position:relative;display:flex;align-items:flex-start;gap:1rem}.boot-runner:not(:last-child):after{content:"";position:absolute;bottom:-16px;left:24px;width:8px;height:12px;background:rgb(var(--color-accent))}.boot-station{position:relative;display:grid;place-items:center;flex-shrink:0;width:56px;height:56px;border:2px solid rgb(var(--color-line));border-radius:var(--radius-md);background:rgb(var(--color-surface))}@media (min-width:768px){.boot-relay{grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.boot-relay:before{inset:27px 10% auto;border-left:0;border-top:2px dashed rgb(var(--color-line))}.boot-runner{flex-direction:column;align-items:center;gap:.75rem;padding-inline:.5rem;text-align:center}.boot-runner:not(:last-child):after{inset:24px -6px auto auto;width:12px;height:8px}}.about-card{position:relative}.about-card>picture{display:block}.about-card-back{position:absolute;inset:0;overflow:hidden;border:2px solid rgb(var(--color-line));border-radius:9999px;background:rgb(var(--color-surface)) -262px -150px /576px 384px;image-rendering:pixelated;transform:perspective(600px) rotateY(-90deg);visibility:hidden}.about-card-back>svg{position:absolute;top:-3px;left:-28px}@media (max-width:359px){.about-card-back{background-position:-278px -166px}.about-card-back>svg{top:-14px;left:-44px}}@media (min-width:768px){.about-card-back{background-position:-528px -324px;background-size:1152px 768px}.about-card-back>svg{top:10px;left:-8px}}:root[data-ambience] .about-card-back{background-image:url(/scene/sky-night.png)}@media (prefers-color-scheme:light){:root:not([data-theme=dark])[data-ambience] .about-card-back{background-image:url(/scene/sky-day.png)}}:root[data-theme=light][data-ambience] .about-card-back{background-image:url(/scene/sky-day.png)}.about-card>[aria-pressed=true]~picture{transform:perspective(600px) rotateY(90deg);visibility:hidden}.about-card>[aria-pressed=true]~.about-card-back{transform:none;visibility:visible}:root[data-rendu] .about-card>button{display:block}.about-card>button{position:absolute;inset:0;z-index:1;border-radius:9999px;color:rgb(var(--color-ink));cursor:pointer}.about-card>button:hover{color:rgb(var(--color-accent))}.about-card>button:focus-visible{outline:2px solid rgb(var(--color-accent));outline-offset:2px}.about-card>button:after{--icon:linear-gradient(currentColor,currentColor);content:"";position:absolute;right:0;bottom:0;width:24px;height:24px;border:2px solid;background:var(--icon) 3px 6px /12px 2px,var(--icon) 13px 4px /2px 6px,var(--icon) 15px 6px /2px 2px,var(--icon) 5px 12px /12px 2px,var(--icon) 5px 10px /2px 6px,var(--icon) 3px 12px /2px 2px,rgb(var(--color-surface));background-repeat:no-repeat;box-shadow:2px 2px 0 rgb(var(--color-ink)/.4)}@media (min-width:768px){.about-card>button:after{right:16px;bottom:16px}}@media (prefers-reduced-motion:no-preference){.about-card-back,.about-card>picture{transition:transform .2s ease-in,visibility .2s}.about-card>[aria-pressed=false]~picture,.about-card>[aria-pressed=true]~.about-card-back{transition-timing-function:ease-out;transition-delay:.2s}@media (hover:hover){.about-card>[aria-pressed=false]:hover~picture{transform:perspective(600px) rotateY(15deg)}}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:rgb(var(--color-canvas))}::-webkit-scrollbar-thumb{background:rgb(var(--color-accent)/.25);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgb(var(--color-accent)/.5)}*{scrollbar-width:thin;scrollbar-color:rgb(var(--color-accent)/.25) rgb(var(--color-canvas))}.mage-eyelids{opacity:0}@media (prefers-reduced-motion:no-preference){.mage-eyelids{animation:mage-blink 4s linear 1.5s 3}}@keyframes mage-blink{0%,95%,to{opacity:0}96%,99%{opacity:1}}:is([data-spell=cast],[data-spell=found]) :is(.mage-staff-glow,.ninja-glint,.flask-glint){opacity:.45}[data-spell][role=button]{cursor:pointer;border-radius:.25rem;outline:none}[data-spell][role=button]:focus-visible{outline:2px solid rgb(var(--color-accent));outline-offset:4px}@media (hover:hover){[data-spell=ready][role=button]:hover :is(.mage-staff-glow,.ninja-glint,.flask-glint){opacity:var(--mage-glow-hint,.2)}}.mage-staff-glow{--mage-night-halo:polygon(10px 2px,18px 2px,18px 4px,22px 4px,22px 6px,24px 6px,24px 10px,26px 10px,26px 18px,24px 18px,24px 22px,22px 22px,22px 24px,18px 24px,18px 26px,10px 26px,10px 24px,6px 24px,6px 22px,4px 22px,4px 18px,2px 18px,2px 10px,4px 10px,4px 6px,6px 6px,6px 4px,10px 4px);--mage-night-bands:linear-gradient(rgb(var(--color-ink)),rgb(var(--color-ink))) 4px 10px /20px 8px no-repeat,linear-gradient(rgb(var(--color-ink)),rgb(var(--color-ink))) 6px 6px /16px 16px no-repeat,linear-gradient(rgb(var(--color-ink)),rgb(var(--color-ink))) 10px 4px /8px 20px no-repeat,linear-gradient(rgb(var(--color-ink)/0.5),rgb(var(--color-ink)/0.5))}@media not all and (prefers-color-scheme:light){:where(:root:not([data-theme=light])) [data-spell=ready] .mage-staff-glow{--mage-glow-hint:0.65;opacity:.45;clip-path:var(--mage-night-halo);-webkit-mask:var(--mage-night-bands);mask:var(--mage-night-bands)}}:where(:root[data-theme=dark]) [data-spell=ready] .mage-staff-glow{--mage-glow-hint:0.65;opacity:.45;clip-path:var(--mage-night-halo);-webkit-mask:var(--mage-night-bands);mask:var(--mage-night-bands)}@media (prefers-reduced-motion:no-preference){.flask-glint,.mage-staff-glow,.ninja-glint{transition:opacity .2s ease-out}}:root:is(:not([data-costume]),[data-costume=mage]) svg:has(>.costume-mage){background:url(/scene/mage.png) 50%/contain no-repeat}:root[data-costume=mage]:where([data-ambience]) svg[data-spell]{background:url(/scene/mage.png) 50%/contain no-repeat,url(/scene/mage-cast.png) 0 0/0 0 no-repeat}:root[data-costume=mage] svg[data-spell=cast]{background:url(/scene/mage-cast.png) 0 0/600% 100% no-repeat}:root[data-costume=mage] [data-spell=cast]>.costume-mage:has(>.mage-staff-glow){visibility:hidden}@media (prefers-reduced-motion:no-preference){:root[data-costume=mage] svg[data-spell=cast]{animation:mage-cast .7s both}@keyframes mage-cast{0%{background-position-x:20%;animation-timing-function:step-end}14.2857%{background-position-x:40%;animation-timing-function:step-end}28.5714%{background-position-x:60%;animation-timing-function:step-end}57.1429%{background-position-x:80%;animation-timing-function:step-end}70%{background-position-x:100%;animation-timing-function:step-end}87.1429%,to{background-position-x:0}}}.hero-stage{--scene-px:2px;--scene-rows:100;--sky-drop:14;--scene-left:calc(50% - 144 * var(--scene-px));position:relative;box-sizing:content-box;height:calc(var(--scene-rows) * var(--scene-px));margin-top:var(--header-height);overflow:hidden;border-bottom:1px solid rgb(var(--color-line))}@supports (left:round(1px,1px)){.hero-stage{--scene-left:round(50% - 144 * var(--scene-px),var(--scene-px))}}@media (min-width:768px){.hero-stage{--scene-px:4px;--scene-rows:96;--sky-drop:18}}@media (min-width:1200px){.hero-stage{width:calc(288 * var(--scene-px));margin:calc(var(--header-height) + 1.5rem) auto 0;border:1px solid rgb(var(--color-line));border-radius:var(--radius-lg)}}#hero{display:flow-root;overflow:clip}.hero-scene{position:absolute;inset:0;isolation:isolate;pointer-events:none}.hero-scene img{position:absolute;bottom:0;left:var(--scene-left);width:calc(288 * var(--scene-px));max-width:none;height:calc(120 * var(--scene-px));image-rendering:pixelated}.hero-scene .scene-sky{bottom:calc(-1 * var(--sky-drop) * var(--scene-px));height:calc(192 * var(--scene-px))}.hero-mage{position:absolute;bottom:calc(5 * var(--scene-px));left:calc(var(--scene-left) + 114 * var(--scene-px));width:calc(60 * var(--scene-px));height:calc(80 * var(--scene-px))}.scene-day{display:none}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .scene-day{display:block}:root:not([data-theme=dark]) .scene-night{display:none}}:root[data-theme=light] .scene-day{display:block}:root:not([data-costume=explorer]) .costume-explorer,:root:not([data-costume=kid]) .costume-kid,:root:not([data-costume=ninja]) .costume-ninja,:root:not([data-costume=scientist]) .costume-scientist,:root:not([data-season=autumn]) .scene-autumn,:root:not([data-season=spring]) .scene-spring,:root:not([data-season=winter]) .scene-winter,:root[data-costume]:not([data-costume=mage]) .costume-mage,:root[data-theme=light] .scene-night{display:none}.hero-scene .scene-hills{z-index:1}.hero-scene .scene-hills:is(.scene-winter,.scene-spring,.scene-autumn){z-index:2}.hero-scene .scene-monument{z-index:3}.hero-scene .scene-monument:is(.scene-winter,.scene-spring,.scene-autumn){z-index:4}.hero-scene .scene-ground{z-index:5}.hero-scene .scene-ground:is(.scene-winter,.scene-spring,.scene-autumn){z-index:6}.contact-window{--scene-px:2px;--scene-left:-220px;--sn:url(/scene/sky-night.png);--sd:url(/scene/sky-day.png);--hn:url(/scene/hills-night.png);--hd:url(/scene/hills-day.png);--mn:url(/scene/castle-night.png);--md:url(/scene/castle-day.png);--gn:url(/scene/ground-night.png);--gd:url(/scene/ground-day.png);position:relative;flex:none;box-sizing:content-box;width:128px;height:192px;overflow:hidden;border:2px solid rgb(var(--color-ink));border-radius:var(--radius-md)}@media (min-width:768px){.contact-window{--scene-left:-228px;width:224px}}@media (min-width:1024px){.contact-window{--scene-left:-80px;width:408px}}:root[data-season=winter] .contact-window{--hsn:url(/scene/hills-night-winter.png);--hsd:url(/scene/hills-day-winter.png);--msn:url(/scene/castle-night-winter.png);--msd:url(/scene/castle-day-winter.png);--gsn:url(/scene/ground-night-winter.png);--gsd:url(/scene/ground-day-winter.png)}:root[data-season=spring] .contact-window{--hsn:url(/scene/hills-night-spring.png);--hsd:url(/scene/hills-day-spring.png);--msn:url(/scene/castle-night-spring.png);--msd:url(/scene/castle-day-spring.png);--gsn:url(/scene/ground-night-spring.png);--gsd:url(/scene/ground-day-spring.png)}:root[data-season=autumn] .contact-window{--hsn:url(/scene/hills-night-autumn.png);--hsd:url(/scene/hills-day-autumn.png);--msn:url(/scene/castle-night-autumn.png);--msd:url(/scene/castle-day-autumn.png);--gsn:url(/scene/ground-night-autumn.png);--gsd:url(/scene/ground-day-autumn.png)}.contact-window>span{--at:var(--scene-left) 100% /576px 240px no-repeat;--sky:var(--scene-left) calc(100% + 36px) /576px 384px no-repeat;position:absolute;inset:0;image-rendering:pixelated}.contact-window>.scene-night{background:var(--gsn,none) var(--at),var(--gn) var(--at),var(--msn,none) var(--at),var(--mn) var(--at),var(--hsn,none) var(--at),var(--hn) var(--at),var(--sn) var(--sky)}.contact-window>.scene-day{background:var(--gsd,none) var(--at),var(--gd) var(--at),var(--msd,none) var(--at),var(--md) var(--at),var(--hsd,none) var(--at),var(--hd) var(--at),var(--sd) var(--sky)}.contact-window>svg{position:absolute;bottom:10px;left:calc(var(--scene-left) + 228px)}.contact-window>[role=button]:focus-visible{outline-offset:-2px}@supports (animation-timeline:scroll()){@media (prefers-reduced-motion:no-preference){.scene-hills,.scene-monument,.scene-sky{animation:scene-sink linear both;animation-timeline:scroll(root);animation-range:0 100vh}.scene-sky{--scene-sink:30%}.scene-hills,.scene-monument{--scene-sink:12%}}}@keyframes scene-sink{to{transform:translateY(var(--scene-sink))}}.hero-stage>input{display:none}@supports selector(:has(*)){@media (prefers-reduced-motion:no-preference){:where(:root[data-ambience]) .hero-scene:before{content:"";position:absolute;z-index:1;bottom:calc(-1 * var(--sky-drop) * var(--scene-px));left:calc(var(--scene-left) - 288 * var(--scene-px));width:calc(576 * var(--scene-px));height:calc(192 * var(--scene-px));background:url(/scene/ambience-clouds-night.png) 0 calc(84 * var(--scene-px)) /calc(288 * var(--scene-px)) calc(20 * var(--scene-px)) repeat-x;image-rendering:pixelated;animation:ambience-drift 144s steps(288) infinite}:where(:root[data-ambience]:is([data-season=winter],[data-season=spring],[data-season=autumn])) .hero-scene:after{content:""}.hero-scene:after{z-index:7;top:calc(-192 * var(--scene-px));bottom:0;left:calc(var(--scene-left) - 96 * var(--scene-px));width:calc(384 * var(--scene-px));background-size:calc(96 * var(--scene-px)) calc(192 * var(--scene-px));animation:ambience-fall 32s steps(192) infinite,ambience-sway 32s steps(96) infinite}.hero-scene:after,.hero-stage:after{position:absolute;image-rendering:pixelated}.hero-stage:after{bottom:calc(22 * var(--scene-px));left:calc(var(--scene-left) + 75 * var(--scene-px));width:calc(6 * var(--scene-px));height:calc(12 * var(--scene-px));background:url(/scene/ambience-steam-night.png) 0 0/calc(36 * var(--scene-px)) 100% no-repeat;animation:ambience-steam 1.8s steps(6) infinite}:where(:root[data-ambience]) .hero-stage>input{--icon:linear-gradient(currentColor,currentColor);position:absolute;right:.5rem;bottom:.5rem;display:block;width:28px;height:28px;margin:0;appearance:none;border:2px solid;border-radius:0;color:rgb(var(--color-ink));background:var(--icon) 6px 5px /4px 14px no-repeat,var(--icon) 14px 5px /4px 14px no-repeat,rgb(var(--color-surface));box-shadow:2px 2px 0 rgb(var(--color-ink)/.4);cursor:pointer}.hero-stage>input:checked{background:var(--icon) 6px 5px /4px 14px no-repeat,var(--icon) 10px 7px /4px 10px no-repeat,var(--icon) 14px 9px /4px 6px no-repeat,var(--icon) 18px 11px /4px 2px no-repeat,rgb(var(--color-surface))}.hero-stage>input:hover{color:rgb(var(--color-accent))}.hero-stage>input:focus-visible{outline:2px solid rgb(var(--color-accent));outline-offset:2px}}}:root[data-rendu] .hero-stage>button{display:block}.hero-stage>button{--icon:linear-gradient(currentColor,currentColor);--slot:0;position:absolute;right:calc(.5rem + var(--slot) * 36px);bottom:.5rem;width:28px;height:28px;border:2px solid;color:rgb(var(--color-ink));background:var(--glyph),rgb(var(--color-surface));background-repeat:no-repeat;box-shadow:2px 2px 0 rgb(var(--color-ink)/.4);cursor:pointer}.picker-choice[data-world=hasard]:before{--icon:linear-gradient(currentColor,currentColor);content:"";display:inline-block;width:24px;height:24px;margin-right:.25rem;vertical-align:middle;background:var(--glyph);background-repeat:no-repeat}.hero-stage>[data-world-next],.picker-choice[data-world=hasard]:before{--glyph:var(--icon) 5px 3px /14px 2px,var(--icon) 5px 19px /14px 2px,var(--icon) 3px 5px /2px 14px,var(--icon) 19px 5px /2px 14px,var(--icon) 7px 7px /2px 2px,var(--icon) 15px 7px /2px 2px,var(--icon) 11px 11px /2px 2px,var(--icon) 7px 15px /2px 2px,var(--icon) 15px 15px /2px 2px}.hero-stage>[data-season-next]{--slot:1;--glyph:var(--icon) 9px 7px /6px 10px,var(--icon) 7px 9px /10px 6px,var(--icon) 11px 3px /2px 2px,var(--icon) 11px 19px /2px 2px,var(--icon) 3px 11px /2px 2px,var(--icon) 19px 11px /2px 2px,var(--icon) 5px 5px /2px 2px,var(--icon) 17px 5px /2px 2px,var(--icon) 5px 17px /2px 2px,var(--icon) 17px 17px /2px 2px}:root[data-season=winter] .hero-stage>[data-season-next]{--glyph:var(--icon) 11px 5px /2px 14px,var(--icon) 5px 11px /14px 2px,var(--icon) 9px 7px /6px 2px,var(--icon) 9px 15px /6px 2px,var(--icon) 9px 3px /2px 2px,var(--icon) 13px 3px /2px 2px,var(--icon) 9px 19px /2px 2px,var(--icon) 13px 19px /2px 2px,var(--icon) 3px 5px /2px 2px,var(--icon) 19px 5px /2px 2px,var(--icon) 5px 7px /2px 2px,var(--icon) 17px 7px /2px 2px,var(--icon) 7px 9px /2px 2px,var(--icon) 15px 9px /2px 2px,var(--icon) 7px 13px /2px 2px,var(--icon) 15px 13px /2px 2px,var(--icon) 5px 15px /2px 2px,var(--icon) 17px 15px /2px 2px,var(--icon) 3px 17px /2px 2px,var(--icon) 19px 17px /2px 2px}:root[data-season=spring] .hero-stage>[data-season-next]{--glyph:var(--icon) 7px 3px /2px 2px,var(--icon) 11px 3px /2px 2px,var(--icon) 15px 3px /2px 2px,var(--icon) 7px 5px /10px 4px,var(--icon) 9px 9px /6px 2px,var(--icon) 11px 11px /2px 10px,var(--icon) 5px 13px /4px 2px,var(--icon) 7px 15px /4px 2px,var(--icon) 15px 15px /4px 2px,var(--icon) 13px 17px /4px 2px}:root[data-season=autumn] .hero-stage>[data-season-next]{--glyph:var(--icon) 13px 3px /8px 2px,var(--icon) 9px 5px /12px 2px,var(--icon) 7px 7px /10px 2px,var(--icon) 19px 7px /2px 2px,var(--icon) 5px 9px /10px 2px,var(--icon) 17px 9px /4px 2px,var(--icon) 5px 11px /8px 2px,var(--icon) 15px 11px /6px 2px,var(--icon) 5px 13px /6px 2px,var(--icon) 13px 13px /6px 2px,var(--icon) 5px 15px /4px 2px,var(--icon) 11px 15px /6px 2px,var(--icon) 7px 17px /6px 2px,var(--icon) 3px 19px /4px 2px}.hero-stage>button:hover{color:rgb(var(--color-accent))}.hero-stage>button:focus-visible{outline:2px solid rgb(var(--color-accent));outline-offset:2px}@supports selector(:has(*)){@media (prefers-reduced-motion:no-preference){.hero-stage>button{right:calc(.5rem + (var(--slot) + 1) * 36px)}}}.hero-stage>:is(input,button):after,.hero-stage>:is(input,button):before{position:absolute;pointer-events:none;background:rgb(var(--color-ink))}.hero-stage>:is(input,button):before{bottom:calc(100% + 4px);left:7px;width:10px;height:6px;clip-path:polygon(0 0,10px 0,10px 2px,8px 2px,8px 4px,6px 4px,6px 6px,4px 6px,4px 4px,2px 4px,2px 2px,0 2px)}.hero-stage>:is(input,button):after{right:calc(-2px - var(--slot, 0) * 36px);bottom:calc(100% + 10px);width:max-content;max-width:min(13rem,50vw - 4.5rem);padding:2px 6px;border:2px solid;color:rgb(var(--color-ink));background:rgb(var(--color-surface));font:600 .75rem/1rem var(--font-mono),monospace;text-wrap-style:balance}.hero-stage>input:after{padding-left:22px;background:linear-gradient(var(--tick,transparent) 0 0) 8px 50% /4px 4px,var(--icon) 4px calc(50% - 5px) /12px 2px,var(--icon) 4px calc(50% + 5px) /12px 2px,var(--icon) 4px 50% /2px 12px,var(--icon) 14px 50% /2px 12px,rgb(var(--color-surface));background-repeat:no-repeat}.hero-stage>input:checked{--tick:currentColor}.hero-stage>:is(input,button):focus-visible:before{content:""}.hero-stage>:is(input,button):focus-visible:after{content:attr(aria-label)}@media (hover:hover){.hero-stage>:is(input,button):hover:before{content:""}.hero-stage>:is(input,button):hover:after{content:attr(aria-label)}}@supports selector(:has(*)){@media (prefers-reduced-motion:no-preference){.hero-stage>button:after{right:calc(-2px - (var(--slot) + 1) * 36px)}}}[data-spell]+i{position:absolute;pointer-events:none}.hero-mage+i{bottom:calc(5 * var(--scene-px));left:calc(var(--scene-left) + 114 * var(--scene-px));width:calc(60 * var(--scene-px));height:calc(80 * var(--scene-px))}.contact-window>i{bottom:10px;left:calc(var(--scene-left) + 228px);width:120px;height:160px}[data-spell]+i:before{top:calc(50% - 5px);left:-8px;width:6px;height:10px;clip-path:polygon(0 0,2px 0,2px 2px,4px 2px,4px 4px,6px 4px,6px 6px,4px 6px,4px 8px,2px 8px,2px 10px,0 10px);background:currentColor}[data-spell]+i:after,[data-spell]+i:before{position:absolute;color:rgb(var(--color-ink))}[data-spell]+i:after{top:50%;right:calc(100% + 8px);translate:0 -50%;width:max-content;max-width:7.5rem;padding:2px 6px;border:2px solid;background:rgb(var(--color-surface));font:600 .75rem/1rem var(--font-mono),monospace;text-wrap-style:balance}.hero-mage+i:after{max-width:min(15rem,50vw - 30 * var(--scene-px) - 1rem)}@media (hover:none){[data-spell]+i:not([data-done]):before{content:"";top:calc(var(--spark-y, -12) * 100% / 160);left:calc(var(--spark-x, 16) * 100% / 120);width:15%;height:11.25%;clip-path:none;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAMAAADXT/YiAAAADFBMVEUAAAA7Kgbw0GD///81FJVsAAAAAXRSTlMAQObYZgAAACdJREFUeNpjYGBgYGRkZIAARiY0FlCKiYkJpABEM4PYSGLYdMDNAwALbQBAAzBEZwAAAABJRU5ErkJggg==") 0 0 /100% 100%;image-rendering:pixelated}:root:has([data-done]) [data-spell]:not(:focus-visible)+i:before{content:none}}[data-spell]:focus-visible+i:before{content:""}[data-spell]:focus-visible+i:after{content:attr(data-label);content:attr(data-label) /""}@media (hover:hover){[data-spell]:hover+i:before{content:""}[data-spell]:hover+i:after{content:attr(data-label);content:attr(data-label) /""}}@media (max-width:1023.98px){.contact-window>:is(:focus-visible,:hover)+i:before{content:none}.contact-window>i:after{top:auto;right:auto;bottom:4px;left:50%;translate:-50% 0;text-align:center}}@supports (animation-timeline:scroll()) and selector(:has(*)){@media (prefers-reduced-motion:no-preference){.hero-scene:before{--scene-sink:30%;animation:ambience-drift 144s steps(288) infinite,scene-sink linear both;animation-timeline:auto,scroll(root);animation-range:normal,0 100vh}.hero-stage:after{--scene-sink:calc(120 * var(--scene-px) * 0.12);animation:ambience-steam 1.8s steps(6) infinite,scene-sink linear both;animation-timeline:auto,scroll(root);animation-range:normal,0 100vh}}}@property --scene-away{syntax:"yes | no";inherits:true;initial-value:no}@supports (animation-timeline:view()) and selector(:has(*)){@media (prefers-reduced-motion:no-preference){.hero-stage{animation:scene-in-sight linear both;animation-timeline:view()}}}@keyframes scene-in-sight{0%,to{--scene-away:yes}1%,99%{--scene-away:no}}@supports selector(:has(*)){@media (prefers-reduced-motion:no-preference){.hero-stage:has(>input:checked) .hero-scene:before{animation-play-state:paused,running}.hero-stage:has(>input:checked) .hero-scene:after{animation-play-state:paused}.hero-stage:has(>input:checked):after{animation-play-state:paused,running}@container style(--scene-away: yes){.hero-scene:before{animation-play-state:paused,running}.hero-scene:after{animation-play-state:paused}.hero-stage:after{animation-play-state:paused,running}}}}@keyframes ambience-drift{to{translate:50% 0}}@keyframes ambience-fall{to{translate:0 calc(192 * var(--scene-px))}}@keyframes ambience-sway{to{transform:translateX(calc(96 * var(--scene-px)))}}@keyframes ambience-steam{to{background-position:calc(-36 * var(--scene-px)) 0}}:root[data-season=winter] .hero-scene:after{background-image:url(/scene/ambience-night-winter.png)}:root[data-season=spring] .hero-scene:after{background-image:url(/scene/ambience-night-spring.png)}:root[data-season=autumn] .hero-scene:after{background-image:url(/scene/ambience-night-autumn.png)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .hero-scene:before{background-image:url(/scene/ambience-clouds-day.png)}:root:not([data-theme=dark])[data-season=winter] .hero-scene:after{background-image:url(/scene/ambience-day-winter.png)}:root:not([data-theme=dark])[data-season=spring] .hero-scene:after{background-image:url(/scene/ambience-day-spring.png)}:root:not([data-theme=dark])[data-season=autumn] .hero-scene:after{background-image:url(/scene/ambience-day-autumn.png)}:root:not([data-theme=dark]) .hero-stage:after{background-image:url(/scene/ambience-steam-day.png)}}:root[data-theme=light] .hero-scene:before{background-image:url(/scene/ambience-clouds-day.png)}:root[data-theme=light][data-season=winter] .hero-scene:after{background-image:url(/scene/ambience-day-winter.png)}:root[data-theme=light][data-season=spring] .hero-scene:after{background-image:url(/scene/ambience-day-spring.png)}:root[data-theme=light][data-season=autumn] .hero-scene:after{background-image:url(/scene/ambience-day-autumn.png)}:root[data-theme=light] .hero-stage:after{background-image:url(/scene/ambience-steam-day.png)}.section-band:before{--band-star:conic-gradient(from 270deg at 2px 2px,rgb(var(--color-band-texture)) 25%,transparent 0);background:var(--band-star) 11px 23px /97px 89px,var(--band-star) 53px 7px /131px 113px,var(--band-star) 79px 61px /157px 139px,var(--band-star) 29px 101px /173px 167px,var(--band-star) 137px 41px /211px 191px;mask-image:linear-gradient(transparent,rgb(var(--color-ink)) 4rem,rgb(var(--color-ink)) calc(100% - 4rem),transparent)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .section-band:before{--band-dot:radial-gradient(circle,rgb(var(--color-band-texture)) 1.25px,transparent 1.75px);background:var(--band-dot) 0 0 /8px 8px,var(--band-dot) 4px 4px /8px 8px}}:root[data-theme=light] .section-band:before{--band-dot:radial-gradient(circle,rgb(var(--color-band-texture)) 1.25px,transparent 1.75px);background:var(--band-dot) 0 0 /8px 8px,var(--band-dot) 4px 4px /8px 8px}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){#contact li,#skills div:has(>h3),.project-card,:is(#projects,#skills,#contact) :has(>h2){animation:reveal-rise ease-out both;animation-timeline:view();animation-range:entry 0 entry min(25vh,200px)}#contact li{animation-range:entry 0 entry 100%}.pile{view-timeline-name:--pile}.pile-item{transform-origin:bottom;animation:pile-land linear both;animation-timeline:--pile;animation-range:entry calc(40% + var(--pile-step) * 16px) entry calc(40% + var(--pile-step) * 16px + 48px)}@supports (order:sibling-index()){.pile>*{--pile-step:min(sibling-count() - sibling-index(),5)}}.timeline-dot{animation:dot-reach linear both;animation-timeline:view();animation-range:cover 25vh cover calc(25vh + 24px)}.timeline-rail{view-timeline-name:--rail;view-timeline-inset:0}.timeline-rail:before{transform-origin:top;animation:rail-draw linear both;animation-timeline:--rail;animation-range:cover 25vh cover calc(100% - 75vh)}svg:has(+h2){overflow:visible;view-timeline:--icon}svg:has(+h2),svg:has(+h2)>*{animation:both steps(1) none;animation-timeline:--icon;animation-range:cover min(15vh,120px) cover min(45vh,360px)}:is(#about,#contact) svg:has(+h2){background:linear-gradient(#e8e6e3 0 0) 2px 8px /28px 16px no-repeat}#about svg:has(+h2)>:nth-child(5){animation-name:icon-type}#projects svg:has(+h2)>:nth-child(n+2):nth-child(-n+4){animation-name:icon-strike}#passions svg:has(+h2){animation-name:icon-beat}#experience svg:has(+h2)>:nth-child(2),#skills svg:has(+h2)>:first-child{animation-name:icon-hoist}#contact svg:has(+h2)>:is(:nth-child(2),:nth-child(n+4)){transform-origin:0 4px;animation-name:icon-open}.contact-window{view-timeline:--wave}.contact-window>[data-spell=ready],.contact-window>[data-spell=ready] *{animation:step-end none;animation-timeline:--wave;animation-range:cover 64px cover min(50vh,440px)}:root[data-costume=mage] .contact-window>[data-spell=ready]{animation-name:wave-mage,mage-cast}.contact-window>[data-spell=ready]>.costume-mage:has(>.mage-staff-glow){animation-name:wave-hide}}}@keyframes wave-mage{0%,to{background:url(/scene/mage-cast.png) 0 0/600% 100% no-repeat}}@keyframes wave-hide{0%,to{visibility:hidden}}@keyframes icon-type{0%{clip-path:inset(0 0 100%)}25%{clip-path:inset(0 0 80%)}50%{clip-path:inset(0 0 40%)}75%{clip-path:none}}@keyframes icon-strike{25%{translate:0 -1px}50%{translate:0 -2px}75%{translate:none}}@keyframes icon-beat{20%,60%{scale:1.5}40%,80%{scale:none}}@keyframes icon-hoist{0%{translate:0 3px}25%{translate:0 2px}50%{translate:0 1px}75%{translate:none}}@keyframes icon-open{15%,70%{scale:1 0}30%{scale:1 -1}85%{scale:none}}@keyframes reveal-rise{0%{opacity:0;translate:0 16px}}@keyframes pile-land{0%{translate:0 -12px;animation-timing-function:ease-in}70%{translate:0 0;scale:1 .94;animation-timing-function:ease-out}}@property --pile-step{syntax:"<integer>";inherits:true;initial-value:0}.pile-box,.pile-spine{--shade:light-dark(rgb(var(--color-ink)/.3),rgb(var(--color-canvas)/.7));border-top:2px solid light-dark(rgb(var(--color-canvas)/.7),rgb(var(--color-ink)/.25));box-shadow:2px 2px var(--shade),4px 4px var(--shade)}.pile-box{border-left:10px solid var(--shade);padding:11px 1rem}.pile:after{content:"";order:1;border-bottom:3px solid rgb(var(--color-line))}.pile-why,.pile-why>details{display:contents}.pile-why summary{cursor:pointer}.pile-why summary::-webkit-details-marker{display:none}.pile-why>details::details-content{order:2}@media (prefers-reduced-motion:no-preference){.pile-why summary{transition-timing-function:steps(3)}[open]>.pile-item{transform:translateX(12px)}.pile-why>[open]::details-content{animation:why-unfold .24s steps(3) both}}@keyframes why-unfold{0%{clip-path:inset(0 100% 100% 0)}}@keyframes dot-reach{0%{scale:.5;border-color:rgb(var(--color-line));background-color:rgb(var(--color-canvas))}60%{scale:1.25}}@keyframes rail-draw{0%{scale:1 0}}.card-foot{display:grid;container-type:inline-size}@container (min-width: 19rem){.card-foot:not(.card-foot-long):not(.card-foot-wide)>*{grid-area:1/1}.card-foot:not(.card-foot-long):not(.card-foot-wide)>.card-foot-links{justify-self:end;align-self:start}}@container (min-width: 20.5rem){.card-foot-long>*{grid-area:1/1}.card-foot-long>.card-foot-links{justify-self:end;align-self:start}}@container (min-width: 28rem){.card-foot-wide>*{grid-area:1/1}.card-foot-wide>.card-foot-links{justify-self:end;align-self:start}}[popovertarget]:not([popovertargetaction]){text-decoration:underline dotted rgb(var(--color-accent));text-decoration-thickness:2px;text-underline-offset:.2em;border-radius:.125rem}[popovertarget]:not([popovertargetaction]):after{content:"*";content:"*"/"";color:rgb(var(--color-accent))}[popovertarget]:not([popovertargetaction]):hover{text-decoration-style:solid}:is([popovertarget],.glossary button,.pile-why summary,.now-list a,.nav-link,.card-link,.hero-action,.picker-choice):focus-visible{outline:2px solid rgb(var(--color-accent));outline-offset:2px}.now-list>li{position:relative;display:flex;gap:.5rem}.now-list>li:before{content:"›";content:"›"/"";color:rgb(var(--color-accent))}.now-list>li>a{position:absolute;inset:-3px 0;border-radius:.125rem}.now-list button{position:relative;z-index:1}.now-list>li>span:has(+a){text-decoration:underline 1px rgb(var(--color-ink-muted)/.4);text-underline-offset:4px;background:linear-gradient(rgb(var(--color-accent)),rgb(var(--color-accent))) 0 100% /0 2px no-repeat;transition:color .2s,text-decoration-color .2s,background-size .2s}.now-list>li:has(>a:is(:hover,:focus-visible))>span{color:rgb(var(--color-ink));text-decoration-color:transparent;background-size:100% 2px}@media (prefers-reduced-motion:reduce){.now-list>li>span{transition:none}}.glossary>[popover]{inset:auto 1rem max(1rem,env(safe-area-inset-bottom)) 1rem;margin:0;width:auto;max-width:none;padding:.875rem 2.75rem .875rem 1rem;border:2px solid rgb(var(--color-ink));border-radius:1rem;background:rgb(var(--color-surface));color:rgb(var(--color-ink));font-size:.9375rem;line-height:1.5rem;box-shadow:0 .75rem 1.5rem -.5rem rgb(var(--color-accent)/.5)}@media (min-width:768px){.glossary>[popover]{left:auto;right:1.5rem;bottom:1.5rem;width:22rem}}.glossary button{position:absolute;top:.375rem;right:.375rem;width:2rem;height:2rem;border-radius:.375rem;font-size:1.25rem;line-height:1;color:rgb(var(--color-ink-muted))}.glossary button:hover{color:rgb(var(--color-accent))}@media (prefers-reduced-motion:no-preference){.glossary>[popover]{transition:opacity .15s ease-out,translate .15s ease-out}@starting-style{.glossary>[popover]:popover-open{opacity:0;translate:0 .5rem}}}@media (forced-colors:active){.glossary button,.picker-choice,.theme-toggle,button[aria-controls]{border:1px solid ButtonText}[popovertarget]:not([popovertargetaction]){text-decoration-color:ButtonText}[popovertarget]:not([popovertargetaction]):after{color:ButtonText}.hero-stage>input:focus-visible,:root body :focus-visible,[data-spell][role=button]:focus-visible{outline-color:Highlight}.bg-aurora,.hero-stage>button:before,.hero-stage>input:before,.timeline-dot.bg-accent,:root .before\:bg-accent:before{background-color:CanvasText}.\[image-rendering\:pixelated\],.contact-window,.hero-scene,svg[shape-rendering=crispEdges]{forced-color-adjust:none}.hero-stage>input,.hero-stage>input:checked{forced-color-adjust:none;color:ButtonText;background-color:ButtonFace;box-shadow:none}.about-card>button:hover:after,.hero-stage>button:hover,.hero-stage>input:hover{color:Highlight}.picker-choice[data-world=hasard]:before,[data-spell]+i:before{forced-color-adjust:none;color:ButtonText}.picker-choice[aria-pressed=true]{forced-color-adjust:none;color:SelectedItemText;background-color:SelectedItem}.picker-choice[aria-pressed=true][data-world=hasard]:before{color:SelectedItemText}.picker-choice[data-shown]{text-decoration-color:ButtonText}.about-card>button:after,.hero-stage>button,.hero-stage>button:after,.hero-stage>input:after,[data-spell]+i:after{forced-color-adjust:none;color:ButtonText;background-color:ButtonFace;box-shadow:none}}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:left-1:before{content:var(--tw-content);left:.25rem}.before\:top-\[0\.5625rem\]:before{content:var(--tw-content);top:.5625rem}.before\:h-2:before{content:var(--tw-content);height:.5rem}.before\:w-2:before{content:var(--tw-content);width:.5rem}.before\:bg-accent:before{content:var(--tw-content);background-color:rgb(var(--color-accent)/1)}.last\:mb-0:last-child{margin-bottom:0}.hover\:border-accent:hover{border-color:rgb(var(--color-accent)/1)}.hover\:bg-accent\/15:hover{background-color:rgb(var(--color-accent)/.15)}.hover\:bg-accent\/85:hover{background-color:rgb(var(--color-accent)/.85)}.hover\:text-accent:hover{color:rgb(var(--color-accent)/1)}.hover\:text-ink:hover{color:rgb(var(--color-ink)/1)}.hover\:underline:hover{text-decoration-line:underline}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:fixed:focus{position:fixed}.focus\:left-4:focus{left:1rem}.focus\:top-4:focus{top:1rem}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:underline:focus-visible{text-decoration-line:underline}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}.focus-visible\:outline-accent:focus-visible{outline-color:rgb(var(--color-accent)/1)}.group\/earlier[open] .group-open\/earlier\:rotate-90{--tw-rotate:90deg}.group:hover .group-hover\:translate-x-1,.group\/earlier[open] .group-open\/earlier\:rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x:0.25rem}.group:hover .group-hover\:text-accent,.group\/summary:hover .group-hover\/summary\:text-accent{color:rgb(var(--color-accent)/1)}.group[aria-expanded=true] .group-aria-expanded\:inline{display:inline}.group[aria-expanded=true] .group-aria-expanded\:hidden{display:none}@media (prefers-reduced-motion:reduce){.motion-reduce\:transition-none{transition-property:none}}@media not all and (min-width:768px){.max-md\:basis-full{flex-basis:100%}}@media (max-width:389px){.max-\[389px\]\:text-base\/7{font-size:1rem;line-height:1.75rem}}@media (max-width:359px){.max-\[359px\]\:h-24{height:6rem}.max-\[359px\]\:w-24{width:6rem}}@media (min-width:360px){.min-\[360px\]\:text-5xl{font-size:3rem;line-height:1}}@media (min-width:640px){.sm\:mb-0{margin-bottom:0}.sm\:mt-8{margin-top:2rem}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:min-w-0{min-width:0}.sm\:flex-1{flex:1 1 0%}.sm\:grid-cols-\[13rem_1fr\]{grid-template-columns:13rem 1fr}.sm\:items-end{align-items:flex-end}.sm\:gap-4{gap:1rem}.sm\:gap-6{gap:1.5rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:pb-16{padding-bottom:4rem}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:col-start-1{grid-column-start:1}.md\:col-start-2{grid-column-start:2}.md\:row-span-2{grid-row:span 2/span 2}.md\:row-span-3{grid-row:span 3/span 3}.md\:row-start-1{grid-row-start:1}.md\:mx-auto{margin-left:auto;margin-right:auto}.md\:-ml-8{margin-left:-2rem}.md\:mb-12{margin-bottom:3rem}.md\:mb-2{margin-bottom:.5rem}.md\:mr-0{margin-right:0}.md\:mt-10{margin-top:2.5rem}.md\:mt-12{margin-top:3rem}.md\:mt-16{margin-top:4rem}.md\:mt-3{margin-top:.75rem}.md\:mt-6{margin-top:1.5rem}.md\:mt-8{margin-top:2rem}.md\:flex{display:flex}.md\:grid{display:grid}.md\:contents{display:contents}.md\:hidden{display:none}.md\:h-56{height:14rem}.md\:h-60{height:15rem}.md\:h-80{height:20rem}.md\:w-56{width:14rem}.md\:w-60{width:15rem}.md\:w-\[11\.25rem\]{width:11.25rem}.md\:w-\[calc\(50\%-29px\)\]{width:calc(50% - 29px)}.md\:max-w-none{max-width:none}.md\:max-w-xl{max-width:36rem}.md\:flex-1{flex:1 1 0%}.md\:shrink-0{flex-shrink:0}.md\:basis-full{flex-basis:100%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[15rem_1fr\]{grid-template-columns:15rem 1fr}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:flex-row{flex-direction:row}.md\:flex-wrap{flex-wrap:wrap}.md\:items-start{align-items:flex-start}.md\:items-end{align-items:flex-end}.md\:items-baseline{align-items:baseline}.md\:justify-end{justify-content:flex-end}.md\:justify-between{justify-content:space-between}.md\:gap-12{gap:3rem}.md\:gap-16{gap:4rem}.md\:gap-2{gap:.5rem}.md\:gap-4{gap:1rem}.md\:gap-6{gap:1.5rem}.md\:gap-8{gap:2rem}.md\:gap-\[58px\]{gap:58px}.md\:gap-x-6{column-gap:1.5rem}.md\:gap-y-2{row-gap:.5rem}.md\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.md\:px-3{padding-left:.75rem;padding-right:.75rem}.md\:py-2{padding-top:.5rem;padding-bottom:.5rem}.md\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.md\:pb-20{padding-bottom:5rem}.md\:pl-8{padding-left:2rem}.md\:text-center{text-align:center}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}@media not all and (min-width:1024px){.md\:max-lg\:max-w-xl{max-width:36rem}}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-start-1{grid-column-start:1}.lg\:col-start-2{grid-column-start:2}.lg\:row-span-4{grid-row:span 4/span 4}.lg\:row-start-1{grid-row-start:1}.lg\:row-start-2{grid-row-start:2}.lg\:row-start-4{grid-row-start:4}.lg\:mb-10{margin-bottom:2.5rem}.lg\:ml-0{margin-left:0}.lg\:mt-0{margin-top:0}.lg\:mt-1{margin-top:.25rem}.lg\:mt-12{margin-top:3rem}.lg\:block{display:block}.lg\:grid{display:grid}.lg\:contents{display:contents}.lg\:hidden{display:none}.lg\:max-w-\[34rem\]{max-width:34rem}.lg\:max-w-none{max-width:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[15rem_minmax\(0\2c 1fr\)\]{grid-template-columns:15rem minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 22rem\)\]{grid-template-columns:minmax(0,1fr) minmax(0,22rem)}.lg\:grid-cols-subgrid{grid-template-columns:subgrid}.lg\:grid-rows-\[repeat\(4\2c auto\)\]{grid-template-rows:repeat(4,auto)}.lg\:grid-rows-subgrid{grid-template-rows:subgrid}.lg\:flex-col{flex-direction:column}.lg\:items-baseline{align-items:baseline}.lg\:gap-3{gap:.75rem}.lg\:gap-x-12{column-gap:3rem}.lg\:gap-x-6{column-gap:1.5rem}.lg\:gap-x-8{column-gap:2rem}.lg\:gap-y-3{row-gap:.75rem}.lg\:gap-y-6{row-gap:1.5rem}.lg\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.lg\:rounded-md{border-radius:var(--radius-md)}.lg\:rounded-none{border-radius:0}.lg\:border{border-width:1px}.lg\:border-0{border-width:0}.lg\:border-line{border-color:rgb(var(--color-line)/1)}.lg\:bg-surface{background-color:rgb(var(--color-surface)/1)}.lg\:bg-transparent{background-color:transparent}.lg\:p-0{padding:0}.lg\:p-5{padding:1.25rem}.lg\:pb-16{padding-bottom:4rem}.lg\:pb-20{padding-bottom:5rem}.lg\:pl-0{padding-left:0}.lg\:text-7xl{font-size:4.5rem;line-height:1}.lg\:text-base{font-size:1rem;line-height:1.5rem}}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}@media (min-width:768px){.md\:\[\&\>\*\]\:mb-0>*{margin-bottom:0}}nav:has(:popover-open) .\[nav\:has\(\:popover-open\)_\&\]\:inline{display:inline}nav:has(:popover-open) .\[nav\:has\(\:popover-open\)_\&\]\:hidden{display:none}