:root { color-scheme: light; font-family: system-ui, sans-serif; line-height: 1.6; color: #283a3a; background: #f5f0e8; }
* { box-sizing: border-box; } body { margin: 0; } main { max-width: 820px; margin: auto; padding: 24px 18px 44px; }
header, main > section { background: #fff; border: 1px solid #c6d2ce; border-radius: 18px; padding: 22px; margin-bottom: 18px; }
h1 { font-size: clamp(1.8rem,5vw,2.5rem); margin: 0; } h2 { margin-top: 0; } .eyebrow { color: #315e50; font-weight: 700; } a { color: #174f74; }
.buttons { display: flex; flex-wrap: wrap; gap: 10px; } .controls { margin-top: 20px; } button { font: inherit; min-height: 48px; border: 2px solid #315e50; color: #173f34; background: #fff; border-radius: 9px; padding: 9px 14px; font-weight: 700; cursor: pointer; }
button:disabled { opacity: .65; cursor: default; } button:focus-visible, a:focus-visible { outline: 3px solid #a55417; outline-offset: 3px; }
#turn { background: #e9f1e9; padding: 12px; border-radius: 8px; font-weight: 700; } #card-art { display: flex; flex-wrap: wrap; gap: 8px; }
.card { display: grid; place-items: center; width: 58px; height: 74px; border: 2px solid #315e50; border-radius: 8px; background: #fff9e9; font-size: 1.5rem; font-weight: 700; }
#status { min-height: 2em; } dialog { max-width: min(90vw,520px); border: 2px solid #315e50; border-radius: 16px; padding: 24px; color: #283a3a; } dialog::backdrop { background: #182c27b3; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }
