*{box-sizing:border-box}body{margin:0;font:17px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1f2430;background:#fbf9fc}a{color:#5a2c86}.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.skip,.sr{position:absolute;left:-9999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px}
header{background:#fff;border-bottom:3px solid #7b3fa0}.top{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px}.logo{font-weight:800;font-size:1.25rem;text-decoration:none;color:#1f2430}.logo b{color:#7b3fa0}
nav{display:flex;flex-wrap:wrap;gap:4px 18px;padding-bottom:10px}nav a{text-decoration:none;font-weight:600;color:#333}
.search{display:flex}.search input{padding:9px 10px;border:1px solid #bbb;border-radius:6px 0 0 6px;min-width:0;width:240px;font-size:16px}.search button{padding:9px 14px;border:0;background:#7b3fa0;color:#fff;border-radius:0 6px 6px 0;font-weight:700}.search.big input{width:100%;font-size:18px}.search.big{margin:16px 0 24px}
.grid{display:grid;grid-template-columns:1fr;gap:28px;margin-top:12px}@media(min-width:1000px){.grid{grid-template-columns:1fr 300px}}
main{background:#fff;padding:20px;border-radius:10px;min-width:0}h1{font-size:1.9rem;line-height:1.2;margin:.2em 0}h2{font-size:1.3rem;margin-top:1.6em}.lede{font-size:1.1rem;color:#444}.crumbs,.small,.review{font-size:.85rem;color:#666}
.cliff{background:#f3ecf8;border-left:5px solid #7b3fa0;padding:6px 18px;border-radius:6px}.red{background:#fdecec;border:2px solid #c62828;padding:4px 18px;border-radius:8px;margin:20px 0}.red h2{color:#b71c1c;margin-top:.6em}
.note{background:#fff8e1;border:1px solid #f0d27a;padding:12px 16px;border-radius:8px;margin:20px 0;font-size:.95rem}
table{border-collapse:collapse;width:100%}th,td{border:1px solid #ddd;padding:8px;text-align:left;vertical-align:top}th{background:#f3ecf8}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.c{display:block;padding:14px;border:1px solid #e0d4ea;border-radius:10px;text-decoration:none;background:#fff}.c b{display:block;color:#5a2c86}.c span{font-size:.85rem;color:#555}
.card{background:#fff;border:1px solid #e6e0ea;border-radius:10px;padding:8px 16px;margin:14px 0}details{border-bottom:1px solid #eee;padding:8px 0}summary{font-weight:600;cursor:pointer}
.ad{margin:14px auto;text-align:center}.ad-label{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#888}.ad-fill{background:repeating-linear-gradient(45deg,#f2f2f2,#f2f2f2 10px,#ebebeb 10px,#ebebeb 20px);color:#aaa;display:flex;align-items:center;justify-content:center;margin:0 auto;font-size:12px}
.ad-leader .ad-fill{width:728px;height:90px;max-width:100%}.ad-mobile .ad-fill{width:320px;height:50px}.ad-box .ad-fill{width:300px;height:250px}.ad-side .ad-fill{width:300px;height:600px}
.ad-mobile{display:none}@media(max-width:760px){.ad-leader{display:none}.ad-mobile{display:block}}@media(max-width:999px){aside .ad-side{display:none}}aside .ad-side{position:sticky;top:12px}
.src li{font-size:.9rem}footer{margin-top:40px;background:#2b1d38;color:#ddd;padding:20px 0;font-size:.9rem}footer a{color:#e8d4f7}
.icons{font-weight:600;color:#5a2c86}.steps{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.step{border:1px solid #e0d4ea;border-radius:10px;padding:4px 14px;background:#fcfaff}.step h3{font-size:1.05rem}
.cal{list-style:none;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:4px;max-width:420px}.cal li{border:1px solid #ddd;border-radius:6px;text-align:center;padding:6px 0;font-size:.85rem}.cal li.on,.key.on{background:#7b3fa0;color:#fff}.key{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:middle}
.chk td:nth-child(2){text-align:center;font-size:1.2rem}@media print{header,footer,aside,.ad{display:none}}
.vids{list-style:none;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.vid a{display:flex;gap:10px;align-items:flex-start;text-decoration:none;border:1px solid #e0d4ea;border-radius:10px;padding:8px;background:#fff}.vid img{flex:none;border-radius:6px;width:120px;height:68px;object-fit:cover}.vid span{font-size:.9rem}
