.tool-intro{max-width:760px}
.tool-intro h1{margin-bottom:.4rem}
.tool-intro .lede{max-width:640px}
.tool-card{background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 10px 30px rgba(0,0,0,.05);padding:28px;margin:0 auto;max-width:860px}
.wds-progress{height:6px;background:#eee;margin:0 0 22px}
.wds-progress span{display:block;height:100%;width:0;background:#c8102e;transition:width .25s}
.wds-count{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#777;margin:0 0 8px}
.wds-statement{font-family:Georgia,"Times New Roman",serif;font-size:1.6rem;line-height:1.3;margin:0 0 24px;min-height:4.2em}
.wds-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.wds-scale button{border:1px solid #d9d9d9;background:#fafafa;padding:14px 6px;font-size:.85rem;cursor:pointer;line-height:1.25}
.wds-scale button:hover,.wds-scale button:focus{border-color:#1f3fbf;background:#eef1fc;outline:none}
.wds-scale button.sd{border-bottom:4px solid #c8102e}.wds-scale button.d{border-bottom:4px solid #e57a8a}.wds-scale button.n{border-bottom:4px solid #bbb}.wds-scale button.a{border-bottom:4px solid #7d8fe0}.wds-scale button.sa{border-bottom:4px solid #1f3fbf}
.wds-back{margin-top:16px;background:none;border:0;color:#555;text-decoration:underline;cursor:pointer;font-size:.85rem;padding:0}
.wds-result{display:none}
.wds-result-grid{display:grid;grid-template-columns:320px 1fr;gap:32px;align-items:start}
.wds-type{font-family:Georgia,"Times New Roman",serif;font-size:2.2rem;margin:.1rem 0 .3rem}
.wds-motto{font-style:italic;color:#555;margin:0 0 14px}
.tool-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.tool-btn{display:inline-block;background:#111;color:#fff;border:0;padding:12px 18px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;text-decoration:none}
.tool-btn.alt{background:#fff;color:#111;border:1px solid #111}
.tool-btn.red{background:#c8102e}
.tool-note{font-size:.8rem;color:#666;margin-top:10px}
.hat-grid{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start}
.hat-canvas{width:100%;height:auto;display:block;border:1px solid rgba(0,0,0,.08)}
.hat-field{margin-bottom:16px}
.hat-field label{display:block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}
.hat-field input{width:100%;padding:12px 14px;font-size:1.05rem;text-transform:uppercase;border:1px solid #ccc;border-radius:999px;box-sizing:border-box}
.hat-error{color:#c8102e;font-size:.85rem;min-height:1.2em;margin:4px 0 0}
.hat-ideas{font-size:.85rem;color:#555}
.hat-ideas button{background:#f2f2f2;border:1px solid #ddd;border-radius:999px;padding:5px 10px;margin:3px 3px 0 0;font-size:.78rem;cursor:pointer}
.book-tools{display:grid;gap:14px}
@media (max-width:760px){.wds-result-grid,.hat-grid{grid-template-columns:1fr}.wds-scale{grid-template-columns:1fr}.wds-statement{font-size:1.3rem;min-height:0}}
.social-row{display:flex;flex-wrap:nowrap;gap:10px;margin-top:20px}
.social-btn{width:48px;height:48px;flex:0 0 48px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:0;padding:0;transition:transform .15s,box-shadow .15s;box-shadow:0 6px 14px rgba(0,0,0,.12)}
.social-btn:hover,.social-btn:focus{transform:translateY(-2px);box-shadow:0 10px 20px rgba(0,0,0,.18);outline:none}
.social-btn svg{width:22px;height:22px;fill:#fff}
.social-label{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#555;margin:22px 0 0}
.wds-type.t-resister{color:#c8102e}.wds-type.t-reformer{color:#6b2fd1}.wds-type.t-accelerationist{color:#1f3fbf}.wds-type.t-resigned{color:#374151}.wds-type.t-ambivalent{color:#b7791f}
@media (max-width:560px){.social-row{flex-wrap:wrap}.social-btn{width:42px;height:42px;flex-basis:42px}}
.htl-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px}
.htl-top h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.35rem}
.htl-count{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#1f3fbf;font-weight:700;white-space:nowrap}
.htl-count.full{color:#c8102e}.htl-count.shake{animation:htlshake .35s}
@keyframes htlshake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.htl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.htl-item{position:relative;text-align:left;border:2px solid #e3e3e3;border-left:6px solid var(--c);background:#fff;padding:14px 14px 14px 16px;font-size:.95rem;line-height:1.3;cursor:pointer;min-height:76px;display:flex;gap:10px;align-items:center;transition:background .15s,border-color .15s,transform .1s}
.htl-item:hover{border-color:var(--c);border-left-color:var(--c)}
.htl-item.on{background:var(--c);border-color:var(--c);color:#fff;font-weight:700}
.htl-num{flex:0 0 26px;height:26px;border-radius:50%;border:2px solid var(--c);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem}
.htl-item.on .htl-num{background:#fff;color:var(--c);border-color:#fff}
.htl-country{margin-top:22px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}
.htl-country label{display:block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}
.htl-country select{width:100%;padding:12px 14px;font-size:1rem;border:1px solid #ccc;border-radius:999px;background:#fff}
.htl-country .tool-btn{border-radius:999px;padding:14px 22px}
.htl-country .tool-btn:disabled{opacity:.4;cursor:not-allowed}
.htl-geo{font-size:.8rem;color:#666;margin:6px 0 0}
.htl-err{color:#c8102e;font-size:.85rem;min-height:1.2em;margin:8px 0 0}
.htl-result{display:none}
.htl-res-grid{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start}
.htl-mine{list-style:none;margin:10px 0 0;padding:0}
.htl-mine li{display:flex;gap:10px;align-items:center;font-family:Georgia,"Times New Roman",serif;font-size:1.15rem;line-height:1.3;margin:0 0 14px}
.htl-mine li span{flex:0 0 32px;height:32px;border-radius:50%;background:var(--c);color:#fff;font:800 .95rem Helvetica,Arial,sans-serif;display:flex;align-items:center;justify-content:center}
.htl-bars-title{font-family:Georgia,"Times New Roman",serif;font-size:1.3rem;margin:0 0 6px}
.htl-legend{display:flex;gap:16px;font-size:.78rem;margin:0 0 12px}
.htl-legend .lg:before{content:"";display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-1px;border-radius:2px}
.htl-legend .c:before{background:#c8102e}.htl-legend .w:before{background:#9aa5c4}
.htl-row{padding:8px 0;border-bottom:1px solid #f0f0f0}
.htl-row.mine .htl-label{font-weight:700}
.htl-label{font-size:.9rem;margin-bottom:5px}
.htl-label em{font-style:normal;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;background:#1f3fbf;color:#fff;padding:2px 6px;border-radius:3px;margin-left:4px}
.htl-bar{position:relative;height:16px;background:#f1f2f6;margin:3px 0;padding-right:48px}
.htl-bar span{display:block;height:100%;min-width:2px}
.htl-bar.w span{background:#9aa5c4}
.htl-bar b{position:absolute;right:0;top:-1px;font-size:.78rem}
@media (max-width:760px){.htl-grid{grid-template-columns:1fr 1fr}.htl-res-grid{grid-template-columns:1fr}.htl-country{grid-template-columns:1fr}}
@media (max-width:480px){.htl-grid{grid-template-columns:1fr}}
.htl-share{border-top:1px solid #eee;margin-top:22px;padding-top:4px}
.htl-sub{font-family:Helvetica,Arial,sans-serif;font-size:.95rem;font-weight:400;color:#555;white-space:nowrap}
.htl-limit{color:#c8102e;font-weight:700;font-size:.9rem;min-height:1.2em;margin:-6px 0 10px}

.wds-next{margin:14px 0 0;padding-left:1.1rem}
.wds-next li{margin:.35rem 0}
.tools-list{display:grid;gap:18px;margin-top:8px}
.tools-list .tool-card{max-width:none;margin:0}
.tools-list h2{font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;margin:.1rem 0 .4rem}
.tools-list h2 a{color:inherit;text-decoration:none}
.tools-list h2 a:hover{text-decoration:underline}
.tools-list p{margin:.2rem 0 .8rem}
.tool-kicker{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#777;margin:0}
