:root {
  color-scheme: light;
  font-family: "Times New Roman", Times, serif;
  color: #222;
  background: #fff;
  font-size: 18px;
  line-height: 1.6;
}
* { box-sizing: border-box; }
body { margin: 0; }
[hidden] { display: none !important; }
.intro-heading { margin-bottom: 24px; }
.cube-widget { width: 144px; font-size: 12px; line-height: 1.4; text-align: left; }
.cube-stage { position: relative; height: 140px; perspective: 900px; touch-action: none; cursor: grab; user-select: none; }
.cube-stage:active { cursor: grabbing; }
.cube-stage:focus-visible { outline: 1px solid #0000b8; outline-offset: 2px; }
.cube-orbit { position: absolute; left: 50%; top: 50%; transform-style: preserve-3d; }
.cubelet { position: absolute; transform-style: preserve-3d; }
.cube-face { position: absolute; width: 100%; height: 100%; backface-visibility: hidden; border: 1px solid rgba(0,0,0,.8); }
.cube-widget button, .cube-widget select { font: inherit; color: #444; background: white; border: 1px solid #bbb; border-radius: 2px; padding: 3px 7px; cursor: pointer; }
.cube-controls p { margin: 8px 0 0; color: #555; }
main { max-width: 660px; margin: 72px auto 80px; padding: 0 24px; }
h1 { margin: 0 0 26px; font-size: 1.65rem; line-height: 1.2; }
h2 { margin: 0 0 14px; font-size: 1rem; line-height: inherit; }
p { margin: 0 0 18px; }
section { margin-top: 34px; }
ul { margin: 0; padding-left: 24px; }
li { padding-left: 3px; margin-bottom: 12px; }
a { color: #0000b8; text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:visited { color: #551a8b; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible { outline: 2px solid #0000b8; outline-offset: 4px; border-radius: 1px; }
.links { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 600px) {
  main { margin: 36px auto 48px; }
}
@media print {
  .cube-widget { display: none; }
  main { margin: 0; max-width: none; }
  a, a:visited { color: inherit; }
}
