:root{
  --bg:#ffffff;
  --fg:#000000;
  --dim:rgba(0,0,0,.32);
  --faint:rgba(0,0,0,.12);
  --ui: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", "Yu Gothic", sans-serif;
}
[data-theme="dark"]{
  --bg:#000000;
  --fg:#ffffff;
  --dim:rgba(255,255,255,.38);
  --faint:rgba(255,255,255,.16);
}
::selection{background:#000;color:#fff}
[data-theme="dark"] ::selection{background:#fff;color:#000}

*{box-sizing:border-box;margin:0;padding:0}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
html,body{height:100%}
body{
  background:var(--bg);
  color:var(--fg);
  font-family:var(--ui);
  display:grid;
  grid-template-rows:auto 1fr;
  height:100dvh;
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
  transition:background .18s linear, color .18s linear;
}
@media (prefers-reduced-motion:reduce){ *{transition:none !important; scroll-behavior:auto !important} }

button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:1.5px solid var(--fg);outline-offset:3px}
.choice{position:relative;display:inline-block;text-align:center;letter-spacing:normal;word-spacing:normal;text-transform:none;text-indent:0;text-shadow:none;text-rendering:auto;cursor:pointer}
.choice > input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;background:none;-webkit-appearance:none;appearance:none;font:inherit;color:inherit;cursor:inherit}
.choice:has(:disabled){cursor:default}
@supports (-moz-user-select:none){ .choice{user-select:none} }
