@layer reset,fonts,tokens,base,layout,components,pages,errors;@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{text-size-adjust:100%;line-height:1.5;tab-size:4;-webkit-font-smoothing:antialiased}body{min-block-size:100dvh;line-height:inherit}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}img,svg,video,canvas,audio,iframe,embed,object{display:block;max-inline-size:100%}img,video{block-size:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}textarea{resize:vertical}:focus-visible{outline:2px solid currentColor;outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}}@layer fonts{@font-face{font-family:Playfair Display;src:url(/public/fonts/playfair-display-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/public/fonts/inter-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/public/fonts/jetbrains-mono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--font-heading: "Playfair Display", Georgia, serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}}@layer tokens{:root{--color-ink: oklch(15% .02 260);--color-ink-subtle: oklch(40% .02 260);--color-surface: oklch(99% .005 260);--color-surface-alt: oklch(95% .01 260);--color-border: oklch(85% .01 260);--color-accent: oklch(55% .2 260);--color-accent-hover: oklch(45% .22 260);--color-interactive: oklch(40% .02 260);--color-interactive-hover: oklch(15% .02 260);--color-pilier-reflechir: oklch(55% .2 270);--color-pilier-agir: oklch(60% .2 145);--color-pilier-carnet: oklch(65% .18 80);--color-error: oklch(55% .2 25);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.1875rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--text-4xl: 1.875rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--shadow-sm: 0 1px 2px oklch(0% 0 0 / 5%);--shadow-md: 0 4px 6px oklch(0% 0 0 / 7%);--max-content: 65rem;--max-prose: 42rem}@media(min-width:768px){:root{--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.3125rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem}}@media(min-width:1024px){:root{--text-base: 1.0625rem;--text-lg: 1.1875rem;--text-xl: 1.375rem;--text-2xl: 1.625rem;--text-3xl: 2rem;--text-4xl: 2.5rem}}[data-theme=dark]{--color-ink: oklch(93% .01 260);--color-ink-subtle: oklch(65% .02 260);--color-surface: oklch(0% 0 0);--color-surface-alt: oklch(15% 0 0);--color-border: oklch(30% .02 260);--color-accent: oklch(70% .18 260);--color-accent-hover: oklch(80% .16 260);--color-interactive: oklch(65% .02 260);--color-interactive-hover: oklch(90% .01 260);--color-pilier-reflechir: oklch(70% .18 270);--color-pilier-agir: oklch(72% .18 145);--color-pilier-carnet: oklch(75% .16 80);--shadow-sm: 0 1px 2px oklch(0% 0 0 / 20%);--shadow-md: 0 4px 6px oklch(0% 0 0 / 25%)}}@layer base{html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-ink);background-color:var(--color-surface);padding-inline:var(--space-sm);padding-block-start:var(--space-sm);margin-bottom:var(--space-3xl);overflow-x:clip;@media(min-width:768px){padding-inline:var(--space-lg)}@media(min-width:1024px){padding-inline:var(--space-xl)}}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}a{color:var(--color-accent);text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.15em;&:hover{color:var(--color-accent-hover)}}a[target=_blank]:after{content:" \2197"}code,pre{font-family:var(--font-mono)}code{font-size:.9em;padding-inline:var(--space-xs);background-color:var(--color-surface-alt);border-radius:var(--radius-sm)}pre{padding:var(--space-md);background-color:var(--color-surface-alt);border-radius:var(--radius-md);overflow-x:auto}pre code{padding:0;background:none;border-radius:0}hr{border:none;border-block-start:1px solid var(--color-border);margin-block:var(--space-xl)}mark{background:oklch(from var(--color-accent) l c h / .15);color:inherit;padding-inline:.2em;border-radius:2px;[data-theme=dark] &{background:oklch(from var(--color-accent) l c h / .35)}}.pilier-reflechir{color:var(--color-pilier-reflechir)}.pilier-agir{color:var(--color-pilier-agir)}.pilier-carnet{color:var(--color-pilier-carnet)}}@layer base{.prose{max-width:var(--max-prose);margin-inline:auto;line-height:1.65;h1{line-height:1.15}h2{margin-block-start:var(--space-2xl);margin-block-end:var(--space-sm);padding-block-end:var(--space-xs);border-block-end:1px solid var(--color-border)}h3{margin-block-start:var(--space-lg);margin-block-end:var(--space-xs)}p+p{margin-block-start:var(--space-md)}ul,ol{padding-inline-start:var(--space-lg);margin-block:var(--space-md)}li+li{margin-block-start:var(--space-xs)}blockquote{margin-block:var(--space-lg);padding-inline-start:var(--space-md);border-inline-start:3px solid var(--color-accent);color:var(--color-ink-subtle);font-style:italic}}}@layer layout{header{h1.site-title{font-size:var(--text-4xl);line-height:1.2}p.site-title{font-family:var(--font-heading);font-weight:700;font-size:var(--text-lg);line-height:1.3;padding-inline-end:var(--space-2xl);a{color:inherit;text-decoration:none}+hr{margin-block-start:var(--space-sm)}}hr{border-width:var(--space-xs);border-color:var(--color-ink)}}}@layer layout{main{hr{border-width:calc(var(--space-xs) * .5);border-color:var(--color-border);margin-block:var(--space-lg)}.articles-heading{margin-block-start:var(--space-xl);margin-block-end:var(--space-sm);font-weight:700;text-transform:uppercase;letter-spacing:.05em;@media(max-width:400px){font-size:.95em;letter-spacing:.02em}}.articles-grid{display:flex;flex-direction:column;@media(min-width:768px){display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:var(--space-md)}>article>hr{width:50%;border-style:dashed;margin-block:var(--space-md);margin-inline:auto;border-width:calc(var(--space-xs) * .3)}}}}@layer layout{footer{position:fixed;inset-inline:0;inset-block-end:0;background-color:var(--color-surface);border-block-start:1px solid var(--color-ink);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);nav{display:flex;justify-content:space-between;align-items:center;margin-inline:auto;@media(min-width:1024px){display:grid;grid-template-columns:1fr auto 1fr}}ul{display:flex;align-items:center;gap:var(--space-sm);list-style:none;margin:0;padding:0}a{text-decoration:none;color:var(--color-interactive);&:hover{color:var(--color-interactive-hover)}&.active{color:var(--color-accent)}}.meta{display:none;@media(min-width:1024px){display:flex}}.actions{display:flex;align-items:center;gap:var(--space-sm);justify-self:end;.lang,.theme{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-sm);background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-interactive);&:hover,&:focus-visible{color:var(--color-interactive-hover);background:var(--color-border)}}.lang{font-weight:600;font-size:var(--text-sm)}.theme{.icon-sun{display:none}.icon-moon{display:block}[data-theme=dark] &{.icon-sun{display:block}.icon-moon{display:none}}}}}}@layer components{.floating-btn{position:fixed;right:var(--space-md);width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-interactive);z-index:42;&:hover,&:focus-visible{color:var(--color-interactive-hover);background:var(--color-border)}}}@layer components{.scroll-top{bottom:calc(37px + 1rem)}}@layer components{.article-detail{max-width:var(--max-prose);margin-inline:auto;@media(min-width:1024px){max-width:var(--max-content)}header{margin-block-end:var(--space-xl);.meta{font-size:var(--text-sm);color:var(--color-ink-subtle);margin-block-end:var(--space-sm)}.type{font-weight:600;text-transform:uppercase;letter-spacing:.04em}h1{line-height:1.15}}.body{@media(min-width:1024px){display:grid;grid-template-columns:1fr 280px;gap:var(--space-xl)}}.main{max-width:var(--max-prose);min-width:0}.sidebar{display:none;@media(min-width:1024px){display:block;position:sticky;top:var(--space-md);align-self:start;max-height:calc(100vh - 60px);overflow-y:auto}}hr.pilier-reflechir{border-color:var(--color-pilier-reflechir)}hr.pilier-agir{border-color:var(--color-pilier-agir)}hr.pilier-carnet{border-color:var(--color-pilier-carnet)}.content{>*+*{margin-block-start:var(--space-md)}h2:first-child{margin-block-start:0}h4,h5,h6{margin-block-start:var(--space-md);margin-block-end:var(--space-xs)}h2+h3{margin-block-start:var(--space-md)}h3+h4{margin-block-start:var(--space-sm)}img{display:block;width:100vw;max-width:none;margin-inline-start:calc(50% - 50vw);margin-block:var(--space-lg);@media(min-width:768px){width:100%;max-width:100%;margin-inline-start:0;border-radius:var(--radius-sm)}}pre{margin-block:var(--space-lg);padding:var(--space-md) var(--space-lg);font-size:var(--text-sm);line-height:1.5;border-left:3px solid var(--color-accent)}}}}.sy-code{color:#323232;background-color:#fff}.sy-comment{color:#969896;font-style:italic}.sy-string{color:#183691}.sy-regexp-operator,.sy-string.sy-regexp.sy-characterclass .sy-punctuation.sy-definition.sy-string.sy-begin,.sy-string.sy-regexp.sy-characterclass .sy-punctuation.sy-definition.sy-string.sy-end{color:#a71d5d}.sy-constant.sy-numeric,.sy-constant.sy-language,.sy-constant.sy-character,.sy-constant.sy-other,.sy-variable.sy-other.sy-constant{color:#0086b3}.sy-variable{color:#323232}.sy-keyword,.sy-bitwise-operator,.sy-storage,.sy-storage.sy-type{color:#a71d5d;font-weight:700}.sy-entity.sy-name.sy-class,.sy-entity.sy-other.sy-inherited-class{color:#0086b3}.sy-entity.sy-name.sy-function{color:#795da3;font-weight:700}.sy-variable.sy-parameter{color:#323232}.sy-entity.sy-name.sy-tag{color:#63a35c}.sy-entity.sy-other.sy-attribute-name{color:#795da3}.sy-support.sy-function{color:#62a35c}.sy-support.sy-constant,.sy-support.sy-type,.sy-support.sy-class{color:#0086b3}.sy-support.sy-other.sy-variable{color:#323232}.sy-invalid,.sy-invalid.sy-illegal,.sy-invalid.sy-deprecated{color:#b52a1d;background-color:#f5f5f5;font-weight:700}.sy-entity.sy-name.sy-filename.sy-find-in-files{color:#323232;font-weight:700}.sy-constant.sy-numeric.sy-line-number.sy-find-in-files,.sy-constant.sy-numeric.sy-line-number.sy-match.sy-find-in-files{color:#b3b3b3}.sy-meta.sy-diff.sy-header{color:#969896;background-color:#fff;font-style:italic}.sy-meta.sy-diff.sy-header .sy-punctuation.sy-definition.sy-from-file.sy-diff{color:#bd2c00;background-color:#ffecec;font-weight:700;font-style:italic}.sy-meta.sy-diff.sy-header .sy-punctuation.sy-definition.sy-to-file.sy-diff{color:#55a532;background-color:#eaffea;font-weight:700;font-style:italic}.sy-meta.sy-diff.sy-range{color:#969896;font-weight:700;font-style:italic}.sy-markup.sy-deleted{background-color:#ffecec}.sy-markup.sy-deleted .sy-punctuation.sy-definition.sy-inserted{color:#bd2c00;font-weight:700}.sy-markup.sy-inserted{background-color:#eaffea}.sy-markup.sy-inserted .sy-punctuation.sy-definition.sy-inserted{color:#55a532;font-weight:700}.sy-markup.sy-deleted.sy-git_gutter{color:#bd2c00}.sy-markup.sy-inserted.sy-git_gutter{color:#55a532}.sy-markup.sy-changed.sy-git_gutter{color:#0086b3}.sy-markup.sy-ignored.sy-git_gutter,.sy-markup.sy-untracked.sy-git_gutter{color:#b3b3b3}.sy-source.sy-css .sy-punctuation.sy-definition.sy-entity{color:#323232}.sy-source.sy-css .sy-entity.sy-other.sy-attribute-name.sy-pseudo-class,.sy-source.sy-css .sy-entity.sy-other.sy-attribute-name.sy-pseudo-element{color:#a71d5d}.sy-source.sy-css .sy-meta.sy-value,.sy-source.sy-css .sy-support.sy-constant,.sy-source.sy-css .sy-support.sy-function{color:#323232}.sy-source.sy-css .sy-constant.sy-other.sy-color{color:#ed6a43}.sy-source.sy-scss .sy-punctuation.sy-definition.sy-entity{color:#323232}.sy-source.sy-scss .sy-entity.sy-other.sy-attribute-name.sy-pseudo-class,.sy-source.sy-scss .sy-entity.sy-other.sy-attribute-name.sy-pseudo-element{color:#a71d5d}.sy-source.sy-scss .sy-support.sy-constant.sy-property-value,.sy-source.sy-scss .sy-support.sy-function{color:#323232}.sy-source.sy-scss .sy-variable{color:#a71d5d}.sy-variable.sy-language.sy-this.sy-js{color:#ed6a43}.sy-source.sy-js .sy-entity.sy-name.sy-function{color:#323232}.sy-source.sy-js .sy-meta.sy-function .sy-entity.sy-name.sy-function,.sy-source.sy-js .sy-entity.sy-name.sy-function .sy-meta.sy-function{color:#795da3;font-weight:700}.sy-entity.sy-name.sy-type.sy-new.sy-js{color:#795da3}.sy-variable.sy-language.sy-prototype.sy-js,.sy-source.sy-js .sy-support.sy-function{color:#0086b3}.sy-support.sy-type.sy-object.sy-console.sy-js{color:#795da3}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta .sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta .sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta .sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta .sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-meta.sy-structure.sy-dictionary.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#183691;font-weight:700}.sy-meta.sy-structure.sy-dictionary.sy-json .sy-meta.sy-structure.sy-dictionary.sy-value.sy-json .sy-string.sy-quoted.sy-double.sy-json{color:#323232}.sy-source.sy-python .sy-keyword,.sy-source.sy-python .sy-storage,.sy-source.sy-python .sy-storage.sy-type{font-weight:700}.sy-source.sy-python .sy-entity.sy-name.sy-function,.sy-source.sy-php .sy-entity.sy-name.sy-type.sy-class{color:#323232;font-weight:700}.sy-variable.sy-language.sy-ruby{color:#ed6a43}.sy-entity.sy-name.sy-type.sy-module.sy-ruby,.sy-entity.sy-name.sy-type.sy-class.sy-ruby,.sy-entity.sy-other.sy-inherited-class.sy-ruby{color:#795da3;font-weight:700}.sy-text.sy-html.sy-markdown .sy-punctuation.sy-definition{color:#a71d5d}.sy-text.sy-html.sy-markdown .sy-meta.sy-separator{color:#b3b3b3}.sy-text.sy-html.sy-markdown .sy-markup.sy-heading{font-weight:700}.sy-text.sy-html.sy-markdown .sy-markup.sy-raw.sy-block,.sy-text.sy-html.sy-markdown .sy-markup.sy-raw.sy-inline{color:#323232}.sy-text.sy-html.sy-markdown .sy-meta.sy-link,.sy-text.sy-html.sy-markdown .sy-meta.sy-image{color:#4183c4}.sy-text.sy-html.sy-markdown .sy-markup.sy-underline.sy-link,.sy-text.sy-html.sy-markdown .sy-constant.sy-other.sy-reference{font-style:italic}.sy-text.sy-html.sy-markdown .sy-markup.sy-list{color:#ed6a43}.sy-text.sy-html.sy-markdown .sy-markup.sy-bold{font-weight:700}.sy-text.sy-html.sy-markdown .sy-markup.sy-italic{font-style:italic}.sy-text.sy-html.sy-markdown .sy-markup.sy-bold .sy-markup.sy-italic,.sy-text.sy-html.sy-markdown .sy-markup.sy-italic .sy-markup.sy-bold{font-weight:700;font-style:italic}[data-theme=dark] .sy-code{color:#c0c5ce;background-color:#2b303b}[data-theme=dark] .sy-variable.sy-parameter.sy-function{color:#c0c5ce}[data-theme=dark] .sy-comment,[data-theme=dark] .sy-punctuation.sy-definition.sy-comment{color:#65737e}[data-theme=dark] .sy-punctuation.sy-definition.sy-string,[data-theme=dark] .sy-punctuation.sy-definition.sy-variable,[data-theme=dark] .sy-punctuation.sy-definition.sy-parameters,[data-theme=dark] .sy-punctuation.sy-definition.sy-array,[data-theme=dark] .sy-none,[data-theme=dark] .sy-keyword.sy-operator{color:#c0c5ce}[data-theme=dark] .sy-keyword{color:#b48ead}[data-theme=dark] .sy-variable,[data-theme=dark] .sy-variable.sy-other.sy-dollar.sy-only.sy-js{color:#bf616a}[data-theme=dark] .sy-entity.sy-name.sy-function,[data-theme=dark] .sy-meta.sy-require,[data-theme=dark] .sy-support.sy-function.sy-any-method,[data-theme=dark] .sy-variable.sy-function{color:#8fa1b3}[data-theme=dark] .sy-support.sy-class,[data-theme=dark] .sy-entity.sy-name.sy-class,[data-theme=dark] .sy-entity.sy-name.sy-type.sy-class{color:#ebcb8b}[data-theme=dark] .sy-meta.sy-class{color:#eff1f5}[data-theme=dark] .sy-keyword.sy-other.sy-special-method{color:#8fa1b3}[data-theme=dark] .sy-storage{color:#b48ead}[data-theme=dark] .sy-support.sy-function{color:#96b5b4}[data-theme=dark] .sy-string,[data-theme=dark] .sy-constant.sy-other.sy-symbol,[data-theme=dark] .sy-entity.sy-other.sy-inherited-class{color:#a3be8c}[data-theme=dark] .sy-constant.sy-numeric,[data-theme=dark] .sy-none,[data-theme=dark] .sy-constant{color:#d08770}[data-theme=dark] .sy-entity.sy-name.sy-tag{color:#bf616a}[data-theme=dark] .sy-entity.sy-other.sy-attribute-name{color:#d08770}[data-theme=dark] .sy-entity.sy-other.sy-attribute-name.sy-id,[data-theme=dark] .sy-punctuation.sy-definition.sy-entity{color:#8fa1b3}[data-theme=dark] .sy-meta.sy-selector{color:#b48ead}[data-theme=dark] .sy-none{color:#d08770}[data-theme=dark] .sy-markup.sy-heading .sy-punctuation.sy-definition.sy-heading,[data-theme=dark] .sy-entity.sy-name.sy-section{color:#8fa1b3}[data-theme=dark] .sy-keyword.sy-other.sy-unit{color:#d08770}[data-theme=dark] .sy-markup.sy-bold,[data-theme=dark] .sy-punctuation.sy-definition.sy-bold{color:#ebcb8b;font-weight:700}[data-theme=dark] .sy-markup.sy-italic,[data-theme=dark] .sy-punctuation.sy-definition.sy-italic{color:#b48ead;font-style:italic}[data-theme=dark] .sy-markup.sy-raw.sy-inline{color:#a3be8c}[data-theme=dark] .sy-string.sy-other.sy-link{color:#bf616a}[data-theme=dark] .sy-meta.sy-link,[data-theme=dark] .sy-meta.sy-image{color:#d08770}[data-theme=dark] .sy-markup.sy-list{color:#bf616a}[data-theme=dark] .sy-markup.sy-quote{color:#d08770}[data-theme=dark] .sy-meta.sy-separator{color:#c0c5ce;background-color:#4f5b66}[data-theme=dark] .sy-markup.sy-inserted,[data-theme=dark] .sy-markup.sy-inserted.sy-git_gutter{color:#a3be8c}[data-theme=dark] .sy-markup.sy-deleted,[data-theme=dark] .sy-markup.sy-deleted.sy-git_gutter{color:#bf616a}[data-theme=dark] .sy-markup.sy-changed,[data-theme=dark] .sy-markup.sy-changed.sy-git_gutter{color:#b48ead}[data-theme=dark] .sy-markup.sy-ignored,[data-theme=dark] .sy-markup.sy-ignored.sy-git_gutter,[data-theme=dark] .sy-markup.sy-untracked,[data-theme=dark] .sy-markup.sy-untracked.sy-git_gutter{color:#4f5b66}[data-theme=dark] .sy-constant.sy-other.sy-color,[data-theme=dark] .sy-string.sy-regexp,[data-theme=dark] .sy-constant.sy-character.sy-escape{color:#96b5b4}[data-theme=dark] .sy-punctuation.sy-section.sy-embedded,[data-theme=dark] .sy-variable.sy-interpolation{color:#ab7967}[data-theme=dark] .sy-invalid.sy-illegal{color:#2b303b;background-color:#bf616a}[data-theme=dark] .sy-markup.sy-deleted.sy-git_gutter{color:#f92672}[data-theme=dark] .sy-markup.sy-inserted.sy-git_gutter{color:#a6e22e}[data-theme=dark] .sy-markup.sy-changed.sy-git_gutter{color:#967efb}[data-theme=dark] .sy-markup.sy-ignored.sy-git_gutter,[data-theme=dark] .sy-markup.sy-untracked.sy-git_gutter{color:#565656}@layer components{.stack-badge{display:flex;align-items:baseline;gap:.3em;font-size:var(--text-sm);color:var(--color-ink-subtle);margin-bottom:var(--space-xs);.name{font-weight:600;color:var(--color-ink)}.arrow{color:var(--color-ink-subtle)}.price{margin-left:auto;white-space:nowrap}}article.teaser{position:relative;width:100vw;background-color:var(--color-surface-alt);border:1px solid var(--color-border);border-left:.3rem solid var(--color-border);border-right:none;padding:var(--space-sm);margin-left:calc(-1 * var(--space-sm));transition:box-shadow .2s ease,transform .15s ease;@media(min-width:768px){width:auto;margin-left:0;border-right:1px solid var(--color-border);border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);padding:var(--space-md);display:flex;flex-direction:column}&:hover{background-color:color-mix(in oklch,var(--color-surface-alt) 93%,var(--color-ink));.chevron{color:var(--color-ink-subtle);transform:translate(3px)}}&.teaser-reflechir{border-left-color:var(--color-pilier-reflechir);border-right-color:var(--color-pilier-reflechir);.type{background-color:var(--color-pilier-reflechir)}}&.teaser-agir{border-left-color:var(--color-pilier-agir);border-right-color:var(--color-pilier-agir);.type{background-color:var(--color-pilier-agir)}}&.teaser-carnet{border-left-color:var(--color-pilier-carnet);border-right-color:var(--color-pilier-carnet);.type{background-color:var(--color-pilier-carnet)}}.meta{font-size:var(--text-sm);color:var(--color-ink-subtle);margin-bottom:.625rem;display:flex;.type{display:inline-block;padding:.15em .5em;border-radius:var(--radius-sm);color:var(--color-surface);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.75em;margin-right:var(--space-sm)}}.title{font-size:var(--text-xl);font-weight:600;line-height:1.35;margin-bottom:.625rem;a{color:inherit;text-decoration:none;&:after{content:"";position:absolute;inset:0}}}.description{font-size:var(--text-base);color:var(--color-ink-subtle);line-height:1.55}.footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:var(--space-sm)}.reading-time{font-size:var(--text-sm);color:var(--color-ink-subtle)}.chevron{font-size:var(--text-xl);color:var(--color-border);transition:transform .2s ease}&.hero{@media(min-width:768px){grid-column:1 / -1;padding:var(--space-lg);.title{font-size:var(--text-3xl)}.description{font-size:var(--text-lg)}}}}}@layer components{.article-nav{display:flex;justify-content:space-between;gap:var(--space-md);margin-block:var(--space-lg);a{display:flex;flex-direction:column;gap:var(--space-xs);text-decoration:none;color:var(--color-ink-subtle);max-width:48%;&:hover{color:var(--color-interactive-hover)}}.next{text-align:end;margin-inline-start:auto}.label{font-family:JetBrains Mono,monospace;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em}.title{display:none;font-size:var(--text-base);line-height:1.3;@media(min-width:768px){display:block}}}}@layer components{.end-zone{margin-block-start:var(--space-2xl);padding-block-start:var(--space-lg);border-block-start:1px solid var(--color-border)}}@layer components{.toc-mobile{width:100vw;margin-left:calc(-1 * var(--space-sm));background-color:var(--color-surface-alt);@media(min-width:768px){width:auto;margin-left:0}@media(min-width:1024px){display:none}.sidebar &{display:block;width:auto;margin-left:0;margin-block-end:var(--space-lg)}details{summary{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);cursor:pointer;list-style:none;&::marker,&::-webkit-details-marker{display:none}}&[open] summary .chevron{transform:rotate(180deg)}}.header{display:flex;align-items:center;gap:var(--space-sm)}.text{display:flex;flex-direction:column}.title{font-size:var(--text-base);font-weight:600;line-height:1.2;color:var(--color-ink)}.subtitle{font-size:var(--text-sm);color:var(--color-ink-subtle)}.chevron{font-size:var(--text-sm);color:var(--color-ink-subtle);transition:transform .2s ease}.list{list-style:none;margin:0;padding:0 var(--space-md) var(--space-md) var(--space-sm);border-top:1px solid var(--color-border)}li{padding-block:var(--space-xs);&:not(:last-child){border-bottom:1px solid color-mix(in oklch,var(--color-border) 50%,transparent)}&.level-3{padding-left:var(--space-md)}&.level-4{padding-left:var(--space-xl)}}a{font-size:var(--text-sm);color:var(--color-interactive);text-decoration:none;&:hover{color:var(--color-interactive-hover)}}}}@layer components{.audio-player{margin-block:var(--space-lg);padding:var(--space-md);background-color:var(--color-surface-alt);border-radius:var(--radius-md);.inner{display:flex;align-items:center;gap:var(--space-md)}.play-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:50%;background-color:var(--color-accent);color:var(--color-surface);cursor:pointer;&:hover{opacity:.85}&:disabled{opacity:.4;cursor:not-allowed}}.info{flex:1;min-width:0}.title{display:block;font-size:var(--text-sm);font-weight:600;margin-block-end:var(--space-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.controls{display:flex;align-items:center;gap:var(--space-sm)}.progress{flex:1;height:6px;background-color:var(--color-border);border-radius:3px;cursor:pointer;position:relative;&:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}}.fill{height:100%;background-color:var(--color-accent);border-radius:3px;width:0%;transition:width .1s linear}.time{flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:var(--text-sm);color:var(--color-ink-subtle)}.hidden{display:none}}}@layer components{.newsletter-aside{margin-block:var(--space-lg);padding:var(--space-md);background-color:var(--color-surface-alt);&[hidden]{display:none}.title{font-weight:600;font-size:var(--text-lg);margin-block-end:var(--space-xs)}.subtitle{font-size:var(--text-sm);color:var(--color-ink-subtle);margin-block-end:var(--space-md)}.field{margin-block-end:var(--space-sm);label{display:block;font-size:var(--text-sm);font-weight:500;margin-block-end:var(--space-xs)}}.email-input{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-ink);font-size:var(--text-base);&:focus{outline:2px solid var(--color-accent);outline-offset:1px}}.consent-field{margin-block-end:var(--space-md);label{display:flex;align-items:flex-start;gap:var(--space-sm);font-size:var(--text-sm);color:var(--color-ink-subtle);cursor:pointer}input[type=checkbox]{flex-shrink:0;margin-block-start:2px}a{color:var(--color-interactive);&:hover{color:var(--color-interactive-hover)}}}.error{display:block;font-size:var(--text-sm);color:var(--color-error);margin-block-start:var(--space-xs);&[hidden]{display:none}}.submit{display:block;width:100%;padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-sm);background-color:var(--color-accent);color:var(--color-surface);font-size:var(--text-base);font-weight:600;cursor:pointer;&:hover{opacity:.85}&:disabled{opacity:.5;cursor:not-allowed}}.success{font-weight:600;color:var(--color-accent)}.status{font-size:var(--text-sm);margin-block-start:var(--space-sm);color:var(--color-error)}}.end-zone .newsletter-aside{@media(min-width:1024px){display:none}}.sidebar .newsletter-aside{display:none;@media(min-width:1024px){display:block}}}@layer components{@keyframes my-stack-chevron-hint{0%,to{translate:0 0;color:var(--color-ink-subtle)}50%{translate:0 2px;color:oklch(from var(--color-ink-subtle) calc(l + .25) c h)}}#my-stack{.desktop-only{display:none}.mobile-only{summary{display:flex;align-items:center;padding:var(--space-xl) var(--space-md) var(--space-sm) 0;gap:var(--space-md);cursor:pointer;list-style:none;&::marker,&::-webkit-details-marker{display:none}&:active{opacity:.6}}&[open] summary .chevron{transform:rotate(180deg)}&:not([open]) .chevron{animation:my-stack-chevron-hint 1.5s ease-in-out infinite}}.header{display:flex;align-items:center;gap:var(--space-sm)}.text{display:flex;flex-direction:column}h2{font-family:var(--font-body);font-size:var(--text-base);line-height:1.2;margin:0;font-weight:700;text-transform:uppercase;letter-spacing:.05em;@media(max-width:400px){font-size:.95em;letter-spacing:.02em}}.chevron{font-size:var(--text-lg);color:var(--color-ink-subtle);transition:transform .2s ease}.chips{display:flex;flex-wrap:wrap;gap:var(--space-sm);padding:var(--space-sm) var(--space-sm) var(--space-md);width:100vw;margin-left:calc(-1 * var(--space-sm));background-color:oklch(from var(--color-pilier-agir) 95% .03 h);[data-theme=dark] &{background-color:oklch(from var(--color-pilier-agir) 20% .03 h)}}.chip{display:flex;align-items:baseline;gap:.3em;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm, 4px);white-space:nowrap}.replaces,.arrow{color:var(--color-ink-subtle);font-size:var(--text-sm)}.name{font-weight:600;font-size:var(--text-sm)}.flag{font-size:var(--text-sm)}.price{margin-left:var(--space-xs);font-size:var(--text-sm);color:var(--color-ink-subtle);white-space:nowrap}.see-all{display:flex;align-items:baseline;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm, 4px);font-size:var(--text-sm);white-space:nowrap}@media(prefers-reduced-motion:reduce){.mobile-only .chevron{animation:none}}@media(min-width:768px){.mobile-only{display:none}.desktop-only{display:block;.header{padding:var(--space-xl) var(--space-md) var(--space-sm) 0}}.chips{padding:var(--space-sm) var(--space-md) var(--space-md);width:auto;margin-left:0;border-radius:var(--radius-md)}}}}@layer components{pre:has(>code.language-mermaid),.mermaid-loading{min-height:8rem;background-color:var(--color-surface-alt);border-radius:var(--radius-md);animation:mermaid-pulse 1.5s ease-in-out infinite;overflow:hidden}pre:has(>code.language-mermaid){font-size:0;color:transparent}@keyframes mermaid-pulse{0%,to{opacity:1}50%{opacity:.5}}}@layer pages{.about{h1{margin-block-end:var(--space-xs)}.alias{font-size:var(--text-lg);color:var(--color-ink-subtle);margin-block-end:var(--space-xl)}.devise{font-size:var(--text-xl);font-style:italic;border-inline-start:3px solid var(--color-accent);padding-inline-start:var(--space-lg);margin-block:var(--space-xl);color:var(--color-ink-subtle)}}}@layer pages{.error-page,.newsletter-page{max-width:var(--max-prose);margin-inline:auto;padding-block:var(--space-2xl);text-align:center;h1{margin-block-end:var(--space-md)}p{color:var(--color-ink-subtle);margin-block-end:var(--space-md)}a{font-weight:600}}}
