*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1c2430;background:#f6f7f9}
a{color:#0b63ce;text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
header{background:#0f1b2d;color:#fff}header .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{color:#fff;font-weight:800;font-size:19px}.logo span{color:#ffb020}nav a{color:#cfd8e6;margin-left:18px;font-size:15px}
.hero{background:linear-gradient(135deg,#0f1b2d,#1d3557);color:#fff;padding:56px 0 44px}.hero h1{font-size:38px;line-height:1.2;margin:0 0 12px;max-width:760px}
.hero p{color:#cfd8e6;font-size:18px;max-width:680px;margin:0 0 22px}.signup{display:flex;gap:8px;max-width:460px}
.signup input{flex:1;padding:12px 14px;border:0;border-radius:8px;font-size:15px}.btn{background:#ffb020;color:#111;border:0;border-radius:8px;padding:12px 18px;font-weight:700;cursor:pointer;display:inline-block}
.small{font-size:13px;color:#8fa0b8}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 18px}.filters input,.filters select{padding:10px 12px;border:1px solid #d5dbe3;border-radius:8px;font-size:15px;background:#fff}
.filters input{flex:1;min-width:240px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:16px;margin-bottom:40px}
.card{background:#fff;border:1px solid #e3e7ed;border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .15s}.card:hover{box-shadow:0 6px 20px rgba(15,27,45,.08)}
.card h3{margin:0;font-size:18px;line-height:1.3}.card h3 a{color:#1c2430}.card p{margin:0;color:#4a5566;font-size:15px}
.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{font-size:12px;padding:3px 8px;border-radius:999px;background:#eef2f7;color:#3b4a5e}
.d-Easy{background:#e3f6ea;color:#1b7a3d}.d-Medium{background:#fff4dc;color:#8a5a00}.d-Hard{background:#fde8e8;color:#a12626}
main.page{background:#fff;border:1px solid #e3e7ed;border-radius:12px;padding:32px;margin:28px auto 48px}main.page h1{margin-top:0;line-height:1.25}
dl{display:grid;grid-template-columns:180px 1fr;gap:10px 18px}dt{font-weight:700;color:#3b4a5e}dd{margin:0}
footer{border-top:1px solid #e3e7ed;padding:24px 0;color:#6b778a;font-size:14px}.cta{background:#0f1b2d;color:#fff;border-radius:12px;padding:24px;margin:28px 0}
.cta p{color:#cfd8e6}h2{margin-top:30px}.count{color:#6b778a;font-size:14px;margin-bottom:10px}