.hub{max-width:1000px;margin:0 auto;padding:48px 20px 72px;font-size:1.0625rem;line-height:1.7}
.hub h1{font-family:'Poppins',sans-serif;font-size:clamp(1.8rem,4vw,2.5rem);margin:0 0 12px}
.hub h2{font-family:'Poppins',sans-serif;font-size:1.35rem;margin:36px 0 12px}
.hub .lead{font-size:1.15rem;opacity:.85;margin-bottom:24px}
.crumbs{font-size:.9rem;margin-bottom:18px;opacity:.8}.crumbs a{text-decoration:underline}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;margin:24px 0}
.hub-card{display:block;border:1px solid rgba(128,128,128,.3);border-radius:14px;padding:20px;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}
.hub-card:hover,.hub-card:focus-visible{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.15)}
.hub-card h3{margin:0 0 6px;font-size:1.15rem}.hub-card p{margin:0;font-size:.97rem;opacity:.85}
.tag{display:inline-block;font-size:.8rem;padding:2px 10px;border-radius:99px;background:rgba(128,128,128,.2);margin-top:10px}
.notice{border-left:4px solid #e0a800;background:rgba(224,168,0,.12);padding:14px 18px;border-radius:8px;margin:24px 0;font-size:.98rem}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.post p,.post li{max-width:70ch}.post pre{overflow-x:auto;background:rgba(128,128,128,.15);padding:14px;border-radius:8px;font-size:.95rem}
.ty-bar{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.ty-bar button{padding:10px 18px;border-radius:8px;border:1px solid rgba(128,128,128,.4);background:transparent;color:inherit;font:inherit;cursor:pointer}
.ty-bar button[aria-pressed=true]{background:#1a73e8;color:#fff;border-color:#1a73e8}
.ty-stats{display:flex;gap:24px;font-size:1.1rem;margin:12px 0}.ty-stats b{font-size:1.6rem;display:block}
#ty-text{font-family:ui-monospace,Consolas,monospace;font-size:1.2rem;line-height:1.9;padding:18px;border:1px solid rgba(128,128,128,.3);border-radius:12px;user-select:none}
#ty-text .ok{color:#2e9e5b}#ty-text .bad{color:#d93025;background:rgba(217,48,37,.15)}#ty-text .cur{background:rgba(26,115,232,.3);border-radius:3px}
#ty-input{width:100%;margin-top:14px;padding:14px;font-size:1.1rem;border-radius:10px;border:2px solid rgba(128,128,128,.4);background:transparent;color:inherit}
.ty-result{display:none;border:2px solid #2e9e5b;border-radius:12px;padding:18px;margin-top:18px}
.svc-faq{margin:32px 0}
.svc-faq details{border:1px solid rgba(128,128,128,.3);border-radius:10px;padding:12px 16px;margin:10px 0}
.svc-faq summary{cursor:pointer;font-weight:600}
.svc-faq details[open] summary{margin-bottom:8px}
.svc-faq p{margin:0;max-width:70ch}
