@font-face{font-family:Montserrat;src:url('/fonts/montserrat-variable.woff2') format('woff2');font-display:swap}*{box-sizing:border-box}body{margin:0;background:#f8f8f3;color:#182823;font:16px/1.7 Montserrat,Arial,sans-serif}header,main,footer{max-width:1120px;margin:auto;padding:24px}header,header nav,footer{display:flex;align-items:center;gap:24px}header{justify-content:space-between;border-bottom:1px solid #dfe5df}.brand{display:flex;align-items:center;gap:10px;font-weight:750;font-size:22px;text-decoration:none}.brand img{border-radius:12px}a{color:inherit;text-underline-offset:4px}main{min-height:70vh;padding-block:50px}h1{font-size:clamp(30px,5vw,52px);line-height:1.2}h2{margin-top:42px;font-size:26px}p,ol{max-width:780px}.levels,.words{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-block:28px}.level,.word{display:flex;flex-direction:column;background:white;border:1px solid #dae3de;border-radius:18px;padding:22px;text-decoration:none;box-shadow:0 6px 24px #10201806}.level strong{font-size:24px}.level-1{border-top:3px solid #609aba}.level-2{border-top:3px solid #639574}.level-3{border-top:3px solid #bb754d}.word span:first-child{font-size:30px}.word span:nth-child(2){color:#547464}.word:hover,.level:hover{border-color:#588671;box-shadow:0 8px 26px #10201814}.hanzi{font:100px/1.3 Arial,'PingFang SC',sans-serif;margin-bottom:12px}.pinyin{font-size:30px;margin-block:8px}.meaning{font-size:24px}.example{background:white;border:1px solid #dfe5df;border-radius:18px;padding:18px 24px;max-width:820px;margin:14px 0}.example [lang]{font-size:27px}.example strong{font-size:1.35em;color:#25684e}.cta{display:inline-block;background:#1c503d;color:white;border-radius:14px;padding:13px 24px;text-decoration:none;margin-top:20px}.crumb{color:#547464;font-size:14px}dl{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;max-width:700px}dt{font-size:24px}dd{margin:0}footer{flex-wrap:wrap;border-top:1px solid #dfe5df;font-size:13px;color:#547464}audio{max-width:100%;margin-top:15px}a:focus-visible{outline:3px solid #c88c34;outline-offset:4px}@media(max-width:640px){header,main,footer{padding:18px}.brand{font-size:18px}header nav{gap:12px;font-size:14px}.words{grid-template-columns:repeat(2,minmax(0,1fr))}.word{padding:15px}.levels{gap:8px}.level{padding:15px 10px}.level span{font-size:12px}.hanzi{font-size:80px}}
