/* Re:Life Lab — base (hand-written). The reset is scoped: it only reaches elements inside .rl-scope, never the article body written in the editor. */
body.rl-frame{background:var(--bg);color:var(--text);font-family:var(--f-sans);-webkit-font-smoothing:antialiased}
body.rl-frame #container,body.rl-frame .container{background:var(--bg)}
.rl-scope,.rl-scope *,.rl-scope *::before,.rl-scope *::after{box-sizing:border-box}
.rl-scope{font-family:var(--f-sans);font-size:16px;line-height:1.9;color:var(--text);overflow-wrap:anywhere;text-align:left;letter-spacing:normal}
/* element resets have the lowest specificity (:where), so every component rule wins over them */
:where(.rl-scope) :is(h1,h2,h3){margin:0;padding:0;border:0;border-radius:0;background:none;font-weight:700;color:var(--ink);font-feature-settings:"palt" 1;word-break:auto-phrase}
:where(.rl-scope) :is(h1,h2,h3)::before,:where(.rl-scope) :is(h1,h2,h3)::after{content:none}
:where(.rl-scope) :is(p,ul,ol,li,figure,dl,dd,dt){margin:0;padding:0}
:where(.rl-scope) :is(ul,ol){list-style:none}
:where(.rl-scope) a{color:inherit;text-decoration:none}
:where(.rl-scope) :is(img,svg){display:block;max-width:100%}
:where(.rl-scope) img{height:auto}
:where(.rl-scope) button{font-family:inherit}
.rl-scope a:focus-visible,.rl-scope button:focus-visible,.rl-scope summary:focus-visible{outline:3px solid var(--ochre);outline-offset:3px}
.rl-scope svg text{font-family:var(--f-sans)}.rl-scope svg .sf{font-family:var(--f-serif)}.rl-scope svg .nf{font-family:var(--f-num)}
:where(.rl-scope) small{font-size:13px}
.rl-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* local screenshots only (?rl_static=1): freeze every animation so that two captures of the same state are identical */
body.rl-static,body.rl-static *,body.rl-static *::before,body.rl-static *::after{animation:none!important;transition:none!important;opacity:1}
