* { box-sizing: border-box; }
body { margin: 0; color: #262421; background: #f3eadb; font: 16px/1.4 system-ui, sans-serif; }
main { max-width: 1120px; margin: 0 auto; padding: 12px 20px 20px; text-align: center; }
header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
h1 { margin: 0; font-size: 20px; }
a { color: inherit; font-size: 14px; text-underline-offset: 3px; }
.scene { display: block; width: auto; height: auto; max-width: 100%; max-height: calc(100dvh - 150px); margin: 0 auto; background: #d9d0c4; border-radius: 6px; }
.controls { display: flex; justify-content: center; gap: 12px; margin-top: 12px; }
button { min-height: 44px; min-width: 64px; border: 1px solid #262421; border-radius: 6px; background: #fffaf3; color: inherit; padding: 8px 16px; font: inherit; cursor: pointer; }
button:hover, button:focus-visible { background: #c9ff45; }
.hint { margin: 10px 0 0; font-size: 13px; }
@media (max-width: 540px) { main { padding: 10px; } header a { font-size: 12px; } .controls { gap: 8px; } button { padding: 8px 12px; } .scene { max-height: calc(100dvh - 155px); } }
