:root{--color-disregard:light-dark(#404040,#a0a0a0);color-scheme:light dark;}
p,h1,h2{text-align:center;font-family:serif;}
h1{font-size:2rem;}
h2,main menu li{font-size:1.25rem;}
a,button,input,label{font-family:sans-serif;}
a,button.link{text-decoration:underline;text-decoration-style:wavy;text-underline-offset:0.3em;}
header a, h2 a, footer a, main menu li a{color:inherit;}
hgroup p,footer p{color:var(--color-disregard);}
a.emoji,a.menu{display:inline-block;text-decoration:none;}
a.menu>svg{width:1.75rem;}
a.menu.open>svg{transform:rotate(180deg);}
button.emoji,button.link{border:none;background:none;outline:none;padding:0;cursor:pointer;}
button.link{font-size:1em;transition:color 0.3s;}
button.link[disabled]{color:var(--color-disregard);}
body,header,main,footer{display:flex;flex-direction:column;}
body{margin:0 auto;padding:0 1.5rem;height:100svh;}
header,main,footer,header>nav>*{flex:1;}
header{margin-bottom:auto;}
header>nav{display:flex;align-items:center;}
hgroup{flex-direction:column;}
main{justify-content:center;}
main menu{padding:0;margin:0;display:flex;flex-direction:column;flex:1;gap:1rem;justify-content:center;}
main menu li{display:flex;align-items:center;justify-content:center;}
main a{line-height:1.6em;word-break:break-all;}
footer{margin-top:auto;justify-content:flex-end;}
.error .explanation{text-decoration:underline wavy;text-underline-offset:0.3em;text-decoration-color:red;}
.zero-width{width:0;}