:root{--ink:#17163A;--ink2:#4B4A6B;--paper:#FBFAFF;--line:#E6E4F2;--acc:#3D6BFF;--acc2:#D5DFFF;--ok:#12A86B;--ko:#E5484D;--r:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Figtree",system-ui,sans-serif;font-size:17px;line-height:1.6}
h1,h2,h3,.disp{font-family:"Outfit","Figtree",sans-serif;letter-spacing:-.01em;line-height:1.15}
a{color:var(--acc)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.top{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.logo{font-family:"Outfit",sans-serif;font-weight:800;font-size:1.25rem;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px}
.logo i{display:inline-block;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#FF7A59,#8B5CF6 60%,#00B8D9)}
.top nav a{color:var(--ink2);text-decoration:none;font-weight:600;margin-left:18px;font-size:.95rem}
.crumb{font-size:.9rem;color:var(--ink2);margin:8px 0 22px}.crumb a{color:var(--ink2);text-decoration:none}.crumb span{margin:0 8px;opacity:.5}
.hero{padding:40px 0 30px}
.hero h1{font-size:clamp(2.2rem,5.5vw,4.2rem);margin:0 0 14px;font-weight:800}
.hero p{max-width:640px;font-size:1.15rem;color:var(--ink2);margin:0}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));margin:30px 0 50px}
.card{position:relative;display:block;text-decoration:none;color:var(--ink);background:#fff;border:2px solid var(--line);border-radius:var(--r);padding:26px 22px 22px;overflow:hidden;min-height:170px}
.card:hover,.card:focus-visible{border-color:var(--c);outline:none;transform:translateY(-3px);transition:.18s}
.card::before{content:"";position:absolute;left:0;top:0;height:100%;width:9px;background:var(--c)}
.card b{display:block;font-family:"Outfit",sans-serif;font-size:1.35rem;line-height:1.2;margin-bottom:8px}
.card.lvl{background:linear-gradient(160deg,#fff 55%,var(--c2));min-height:190px}.card.lvl b{font-size:2.8rem;letter-spacing:-.03em;color:var(--c);margin:6px 0 4px}
.card small{color:var(--ink2);font-size:.95rem}
.card .n{position:absolute;right:16px;top:16px;background:var(--c2);color:var(--ink);font-weight:700;font-size:.8rem;padding:4px 10px;border-radius:999px}
.seo{max-width:760px;margin:0 auto 50px}.seo h2{font-size:1.6rem;margin:36px 0 10px}.seo p{color:var(--ink2)}
.quiz{max-width:760px;margin:0 auto}
.qh{margin:0 0 6px;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800}
.qh em{font-style:normal;color:var(--c)}
.intro{color:var(--ink2);font-size:1.05rem}
.q{background:#fff;border:2px solid var(--line);border-radius:var(--r);padding:24px 24px 18px 24px;margin:22px 0;position:relative}
.q::before{content:attr(data-n);position:absolute;left:-14px;top:-14px;width:44px;height:44px;border-radius:14px;background:var(--c);color:#fff;font-family:"Outfit",sans-serif;font-weight:800;display:grid;place-items:center;font-size:1.1rem;box-shadow:0 6px 16px color-mix(in srgb,var(--c) 40%,transparent)}
.q h3{margin:0 0 14px;font-size:1.15rem;font-weight:700}
.fig{margin:0 0 14px;border-radius:14px;overflow:hidden;background:#F4F3FB}
.jxgbox{width:100%;height:260px;border:0!important}
.opt{display:flex;align-items:flex-start;gap:12px;padding:11px 14px;border-radius:14px;border:2px solid transparent;cursor:pointer;margin:6px 0;background:#F8F7FD;transition:.15s}
.opt:hover{background:var(--c2)}
.opt input{appearance:none;width:22px;height:22px;flex:none;margin-top:3px;border:2px solid var(--ink2);border-radius:7px;display:grid;place-items:center;cursor:pointer}
.opt input:checked{background:var(--c);border-color:var(--c)}
.opt input:checked::after{content:"";width:12px;height:7px;border:3px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.opt input:focus-visible{outline:3px solid var(--c2)}
.opt .k{font-weight:700;color:var(--ink2);min-width:1.4em}
.q.good{border-color:var(--ok)}.q.bad{border-color:var(--ko)}
.opt.ok{background:#DDF6EA;border-color:var(--ok)}.opt.no{background:#FDE2E3;border-color:var(--ko)}
.fb{display:none;margin:10px 0 0;font-weight:600;font-size:.95rem}.q.good .fb,.q.bad .fb{display:block}
.q.good .fb{color:var(--ok)}.q.bad .fb{color:var(--ko)}
.btn{display:inline-block;border:0;cursor:pointer;background:var(--ink);color:#fff;font-family:"Outfit",sans-serif;font-weight:700;font-size:1.05rem;padding:15px 28px;border-radius:999px;text-decoration:none}
.btn.c{background:var(--c)}
.btn:hover{filter:brightness(1.1)}
.score{display:none;margin:30px 0;padding:26px;border-radius:var(--r);background:var(--ink);color:#fff;align-items:center;gap:24px}
.score.on{display:flex}
.ring{--p:0;width:110px;height:110px;flex:none;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p)*1%),#3A395C 0);display:grid;place-items:center}
.ring b{width:84px;height:84px;border-radius:50%;background:var(--ink);display:grid;place-items:center;font-family:"Outfit",sans-serif;font-size:1.6rem}
.score p{margin:0;font-size:1.1rem}.score small{opacity:.75}
.faq{margin:50px 0 30px}.faq h2{font-size:1.6rem}
.faq details{background:#fff;border:2px solid var(--line);border-radius:16px;padding:0 20px;margin:10px 0}
.faq summary{cursor:pointer;font-weight:700;padding:16px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::after{content:"+";font-family:"Outfit";font-size:1.3rem;color:var(--c)}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 16px;color:var(--ink2)}
.cta{text-align:center;margin:40px 0 60px}
.cta .btn{background:var(--c);font-size:1.1rem}
.next{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}
.next a{text-decoration:none;color:var(--ink);background:#fff;border:2px solid var(--line);border-radius:999px;padding:9px 16px;font-weight:600;font-size:.95rem}
.next a:hover{border-color:var(--c)}
footer{border-top:2px solid var(--line);padding:30px 0;color:var(--ink2);font-size:.9rem;text-align:center;margin-top:30px}
footer a{color:var(--ink2)}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
@media (max-width:640px){.q{padding:22px 16px 14px}.score{flex-direction:column;text-align:center}.top nav{display:none}}