*,*:after,*:before{box-sizing:inherit}html{box-sizing:border-box;font-size:62.5%}body{margin:0;background-color:var(--color-background);color:var(--color-body);font-family:var(--font-stack);font-size:2em;line-height:1.4;overflow-x:hidden}p,h1,h2,h3,h4{margin:1rem 0}article p{line-height:2}h1{font-size:5rem}h2{font-size:3rem;margin-top:2rem}a{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-bold);position:relative}a::before{content:"";position:absolute;display:block;width:100%;height:.2rem;bottom:0;left:0;background-color:var(--color-primary);transform:scaleX(0);transition:transform .3s ease}a:hover::before,a:active::before{transform:scaleX(1)}a.none::before,a.button::before{height:0;transform:none}button,.button{display:inline-block;font-family:var(--font-stack);font-weight:var(--font-weight-bold);background-color:var(--color-primary);color:var(--color-background);border:.2rem solid var(--color-primary);border-radius:var(--border-radius);cursor:pointer;text-decoration:none;text-align:center;padding:.2em .8em;min-width:7em;min-height:1.2em;outline:0}dl,ol,ul{margin-top:0;padding-left:4rem}.wrapper{min-height:100vh;display:flex;flex-direction:column}.content{max-width:var(--content-width);margin:0 auto;padding:1.6rem;width:100%}header{background:var(--color-panel);min-height:32rem;display:flex;align-items:center}header .content{text-align:center}header:has(.app-icon){background:var(--color-primary);color:var(--color-background);padding:2rem 0}header:has(.app-icon) .content{color:var(--color-background)}svg.logo{width:80%}@media(min-width:50em){svg.logo{width:50%}}footer{margin-top:auto;background:var(--color-panel);font-size:80%}footer .legal{text-align:center}@media(min-width:40em){footer .legal{text-align:right}}.hidden{display:none}.flex{display:flex}.flex-gap{gap:1rem}.responsive-flex{display:flex;flex-direction:column;align-items:center;justify-content:center}.responsive-flex>*{flex:auto}@media(min-width:40em){.responsive-flex{flex-direction:row}}.links-flex{font-size:150%;padding:3rem 0;display:flex;flex-wrap:wrap}.links-flex>*{margin-right:2rem}.grid{max-width:var(--content-width);margin:0 auto;padding:3rem 0;display:grid;grid-gap:3rem}.grid-column-span-2{grid-column-end:span 1}.grid-column-span-3{grid-column-end:span 1}@media(min-width:40em){.grid{grid-template-columns:[content-start left-start] 1fr [left-end right-start] 1fr [right-end content-end]}.grid-column-span-2{grid-column-end:span 2}.grid-column-span-3{grid-column-end:span 2}}@media(min-width:60em){.grid-3{grid-template-columns:[content-start left-start] 1fr [left-end center-start] 1fr [center-end right-start] 1fr [right-end content-end]}.grid-column-span-3{grid-column-end:span 3}}.tile{display:flex;flex-direction:column;color:var(--color-body);background:var(--color-panel);font-weight:400;--width:.6rem;--half:.3rem;transition:box-shadow 150ms ease-out}.tile:focus,.tile:hover,.tile:active{outline:0;box-shadow:0 0 0 var(--half)var(--color-background),0 0 0 var(--width)var(--color-primary);box-shadow:0 0 0 var(--half)var(--color-background),0 0 0 var(--width)var(--color-primary)}a.tile::before{height:0;background-color:initial}.tile>div.bg-primary{min-height:10rem;background-position:50%;background-size:cover}.tile>div.info{padding:.6rem 1.6rem}.tile>h2{margin-bottom:1rem}.bg-primary{background:var(--color-primary)}.app-icon{position:relative;flex:none;width:16rem;height:20rem}.app-icon>img{position:absolute;left:0;top:0;width:100%;border-radius:22%;box-shadow:0 2rem 6rem rgba(0,0,0,.4)}header:has(.app-icon) .title{text-align:center}header:has(.app-icon) h1{font-size:3em;margin:0}.app-content{display:flex;flex-direction:column}.app-content article{flex:1 0 auto;margin-top:8rem;margin-left:0;padding:0}.app-content aside{width:100%;max-width:34rem;margin:0 auto}.store{width:100%;max-width:34rem;display:flex;text-decoration:none;color:currentColor;border:.15rem solid;border-radius:1rem;align-items:center;padding:.2rem .6rem;margin:1rem 0}.store>.icon{width:6rem;height:6rem;margin:.4rem}.store .a{font-weight:700;font-size:3rem;line-height:3rem}.store .b{font-weight:400;font-size:2rem;line-height:2rem}.store::before{height:0;background-color:initial}.screen{border:1.6rem solid;border-radius:2.4rem;margin:1rem;max-width:100%}@media(min-width:50em){.app-icon{width:34rem}header:has(.app-icon) .title{text-align:left;padding:2rem 0 0 4rem}.app-content{flex-direction:row}.app-content aside{margin-top:16rem;width:34rem}.app-content article{margin-left:4rem}}