
.gnb{border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:20}
.gnb .wrap,.gft .wrap,.home,.hub,.misc{max-width:980px;margin:0 auto;padding-left:16px;padding-right:16px}
.gnb .wrap{display:flex;align-items:center;gap:14px;min-height:56px;overflow:hidden}
.logo{font-weight:800;color:var(--accent);text-decoration:none;white-space:nowrap;font-size:1.1rem;display:flex;flex-direction:column;line-height:1.15}
.logo small{font-weight:500;font-size:.68rem;color:var(--muted)}
.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:8px 0}.chips::-webkit-scrollbar{display:none}
.chips a{white-space:nowrap;font-size:.85rem;padding:6px 10px;border-radius:999px;border:1px solid var(--line);text-decoration:none;color:var(--ink)}
.chips a.on,.chips a:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.crumb{max-width:760px;margin:14px auto 0;padding:0 16px;font-size:.84rem;color:var(--muted)}.crumb a{color:var(--muted)}
.home,.hub{padding-top:24px;padding-bottom:48px}
.hero{padding:22px 0 8px}.hero h1{font-size:1.55rem;line-height:1.35;margin:0 0 10px}.hero p{color:var(--muted);margin:0 0 12px}
.home h2,.hub h2{font-size:1.15rem;margin:34px 0 10px;padding-left:12px;border-left:4px solid var(--accent)}
.hgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:10px 0 6px}
.hcard{display:block;border:1px solid var(--line);border-radius:12px;padding:14px;text-decoration:none;color:var(--ink);background:var(--bg)}
.hcard:hover{border-color:var(--accent)}.hcard .ic{font-size:1.5rem}.hcard b{display:block;margin-top:6px;color:var(--accent)}.hcard span{display:block;font-size:.82rem;color:var(--muted);margin-top:2px}
.plist{columns:2;column-gap:20px;margin:8px 0 0;padding:0;list-style:none}
.plist li{break-inside:avoid;padding:6px 0;border-bottom:1px dashed var(--line);font-size:.95rem}.plist a{text-decoration:none;color:var(--ink)}.plist a:hover{color:var(--accent)}
.alist{list-style:none;margin:8px 0;padding:0;display:grid;gap:10px}
.alist li{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--bg)}
.alist a{font-weight:700;text-decoration:none;color:var(--ink)}.alist a:hover{color:var(--accent)}.alist p{margin:4px 0 0;font-size:.9rem;color:var(--muted);line-height:1.6}
.about-box{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin:30px 0 0;font-size:.95rem}
.gft{margin-top:48px;border-top:1px solid var(--line);background:var(--card);padding:22px 0 30px;font-size:.85rem;color:var(--muted)}
.gft a{color:var(--muted);text-decoration:none;margin-right:12px;display:inline-block;padding:2px 0}.gft .fhubs a{color:var(--ink)}.fnote{margin-top:10px;line-height:1.7}
.misc{max-width:760px;padding-top:28px;padding-bottom:48px}.misc h1{font-size:1.45rem}.misc h2{font-size:1.1rem;margin:28px 0 8px}
.misc form{display:grid;gap:10px;max-width:520px}.misc input,.misc textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit}
.misc button{padding:12px;border:0;border-radius:999px;background:var(--accent);color:#fff;font-weight:700;font:inherit}
@media(max-width:560px){.plist{columns:1}}
@media(min-width:640px){.hero h1{font-size:1.95rem}}
