:root { color-scheme: light; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #182b39; background: #f4f1e9; }
* { box-sizing: border-box; }
body { margin: 0; }
main { max-width: 1060px; margin: auto; padding: 42px 24px; }
header { max-width: 660px; }
h1 { font-size: 48px; line-height: 1.08; letter-spacing: -2px; margin: 16px 0; }
h2 { font-size: 23px; margin: 12px 0; }
p { line-height: 1.6; }
.eyebrow { font-size: 12px; letter-spacing: 2px; font-weight: 700; color: #476858; }
.intro { display: flex; align-items: center; gap: 36px; margin: 32px 0; padding: 30px; background: #e1e9dc; border-radius: 24px; }
.intro > div:last-child { flex: 1; }
.character { flex-shrink: 0; width: 144px; height: 164px; border-radius: 48% 48% 40% 40%; background: #3c695b; position: relative; animation: float 4s ease-in-out infinite; box-shadow: 0 12px 0 #c3d2bd; }
.face { position: absolute; inset: 24px 16px 42px; background: #fbebc9; border-radius: 48%; }
.eye { position: absolute; width: 8px; height: 13px; border-radius: 50%; background: #182b39; top: 36px; animation: blink 5s infinite; }
.left { left: 29px; } .right { right: 29px; }
.smile { position: absolute; width: 22px; height: 12px; border-bottom: 3px solid #182b39; border-radius: 50%; top: 53px; left: 45px; }
.tests { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.card { background: #fffdf8; border: 1px solid #d7d9cb; padding: 24px; border-radius: 18px; }
.buttons { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0; }
button { font: inherit; font-weight: 600; min-height: 48px; padding: 12px 16px; border: 1px solid #305746; border-radius: 10px; color: white; background: #305746; cursor: pointer; }
button.secondary { color: #305746; background: transparent; }
button:disabled { opacity: .5; cursor: default; }
button:focus-visible { outline: 3px solid #ad6c19; outline-offset: 3px; }
label { display: block; font-size: 14px; } #level-value { float: right; }
meter { display: block; width: 100%; height: 26px; }
video { width: 100%; max-height: 320px; background: #182b39; border-radius: 12px; object-fit: contain; }
[hidden] { display: none !important; }
[role="status"] { font-size: 14px; overflow-wrap: break-word; }
.note, footer { font-size: 13px; color: #495e59; } footer { line-height: 1.7; margin-top: 32px; }
@keyframes float { 50% { transform: translateY(-8px); } }
@keyframes blink { 0%, 43%, 47%, 100% { transform: scaleY(1); } 45% { transform: scaleY(.1); } }
@media (max-width: 640px) { main { padding: 28px 18px; } h1 { font-size: 39px; } .intro { flex-direction: column; gap: 20px; padding: 24px; } .tests { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .character, .eye { animation: none; } }
