/* Community pages */
.forum-page--community { max-width:1200px; }
.forum-community-actions { display:flex; align-items:center; flex:0 0 auto; flex-wrap:wrap; gap:10px; }
.forum-community-actions__login { display:inline-flex; align-items:center; justify-content:center; padding:9px 17px; border:1px solid #173e77; border-radius:6px; color:#173e77; font-weight:700; text-decoration:none; }
.forum-community-actions__login:hover,.forum-community-actions__login:focus-visible { background:#eaf1f6; color:#173e77; }
.forum-community-nav { display:flex; align-items:center; gap:4px; margin:0 0 19px; padding:4px; border:1px solid #d9e1e8; border-radius:8px; background:#fff; }
.forum-community-nav a { padding:9px 14px; border-radius:6px; color:#35516b; font-size:.85rem; font-weight:700; text-decoration:none; }
.forum-community-nav a:hover,.forum-community-nav a[aria-current] { background:#eaf1f6; color:#173e77; }
.forum-community-layout { display:grid; grid-template-columns:minmax(0,1fr) 272px; align-items:start; gap:20px; }
.forum-community-layout__main { min-width:0; }
.forum-community-layout__side { display:grid; gap:17px; }
.forum-page--community .forum-board-row { grid-template-columns:minmax(200px,1fr) 132px minmax(175px,230px); gap:11px; }
.forum-page--community .forum-board-row__latest { gap:8px; }
.forum-page--community .forum-board-row__latest img { width:32px; height:32px; }
.forum-community-side { overflow:hidden; border:1px solid #d5dce6; border-radius:7px; background:#fff; box-shadow:0 2px 8px rgb(24 53 86 / 5%); }
.forum-community-side h2 { margin:0; padding:10px 14px; border-bottom:1px solid #d5dce6; background:linear-gradient(#f7f9fc,#eaf0f7); color:#143b73; font-size:1rem; }
.forum-community-side ul { padding:0; margin:0; list-style:none; }
.forum-community-side li { display:grid; gap:5px; padding:12px 14px; border-bottom:1px solid #e8ecf0; }
.forum-community-side li:last-child { border:0; }
.forum-community-side li a { color:#173e77; font-size:.84rem; font-weight:700; line-height:1.45; text-decoration:none; }
.forum-community-side li a:hover { color:#d51f28; }
.forum-community-side li span { color:#718091; font-size:.75rem; }
.forum-community-side dl { margin:0; padding:6px 14px; }
.forum-community-side dl>div { display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid #e8ecf0; font-size:.84rem; }
.forum-community-side dl>div:last-child { border:0; }
.forum-community-side dt { color:#647383; }
.forum-community-side dd { margin:0; color:#173e77; font-weight:800; }
@media(max-width:1050px) { .forum-community-layout { grid-template-columns:1fr; } .forum-community-layout__side { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) { .forum-community-nav { overflow-x:auto; white-space:nowrap; } .forum-community-layout__side { grid-template-columns:1fr; } .forum-page--community .forum-board-row { grid-template-columns:minmax(0,1fr); } }
.ggc-page, .community-page--login, .community-page--submit { --ggc-ink:#183544; --ggc-muted:#647783; --ggc-red:#d51f28; --ggc-line:#eadfe1; --ggc-paper:#fff; color:var(--ggc-ink); }
.ggc-page { max-width:1160px; padding-block:34px 88px; }
.ggc-page a, .community-page a { text-decoration:none; }
.ggc-eyebrow { display:inline-flex; align-items:center; gap:7px; color:var(--ggc-red); font-size:.72rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.ggc-eyebrow--light { color:#ffc2c5; }
.ggc-button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:45px; padding:10px 19px; border-radius:10px; background:#d51f28; color:#fff!important; font-weight:750; line-height:1.2; transition:background .2s, transform .2s; }
.ggc-button:hover { background:#b71920; transform:translateY(-2px); }
.ggc-button--light { background:#fff; color:#9c1c26!important; }
.ggc-button--light:hover { background:#fff0f1; }
.ggc-hero, .ggc-board-hero, .community-compose__header, .ggc-auth__intro { background:radial-gradient(circle at 90% 15%,#982832 0,transparent 35%),linear-gradient(135deg,#221c2b 0%,#571c2a 100%); color:#fff; }
.ggc-hero { position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) 280px; align-items:end; gap:35px; min-height:360px; padding:clamp(34px,5vw,64px); border-radius:24px; }
.ggc-hero__glow { position:absolute; z-index:-1; width:450px; height:450px; right:-120px; top:-210px; border:1px solid #ffffff24; border-radius:50%; box-shadow:0 0 0 65px #ffffff08,0 0 0 135px #ffffff06; }
.ggc-hero h1 { max-width:690px; margin:18px 0 15px; color:#fff; font-size:clamp(2.5rem,5vw,4rem); line-height:1.08; letter-spacing:-.045em; }
@media(min-width:681px) { .ggc-hero h1 { max-width:none; font-size:clamp(2rem,3.6vw,3.25rem); white-space:nowrap; } }
.ggc-hero__content>p { max-width:550px; margin:0; color:#f1dfe2; font-size:1.08rem; line-height:1.7; }
.ggc-hero__actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:27px; }
.ggc-hero__text-link { color:#ffe9eb; font-weight:700; }
.ggc-hero__text-link:hover { color:#fff; }
.ggc-hero__stats { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; overflow:hidden; border:1px solid #ffffff30; border-radius:15px; background:#ffffff2c; backdrop-filter:blur(8px); }
.ggc-hero__stats>div { display:grid; gap:2px; justify-items:center; padding:17px 8px; background:#451d2abb; text-align:center; }
.ggc-hero__stats strong { font-size:1.6rem; line-height:1; }
.ggc-hero__stats span { color:#efd4d7; font-size:.75rem; }
.ggc-section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:21px; }
.ggc-section-heading h2 { margin:6px 0 0; color:var(--ggc-ink); font-size:clamp(1.6rem,2.7vw,2.1rem); line-height:1.15; letter-spacing:-.03em; }
.ggc-section-heading p { margin:9px 0 0; color:var(--ggc-muted); }
.ggc-section-heading>a { color:var(--ggc-red); font-weight:700; white-space:nowrap; }
.ggc-recent, .ggc-boards, .ggc-my-topics { margin-top:55px; }
.ggc-recent__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ggc-recent-card, .ggc-board-card, .ggc-topic-card, .ggc-side-card, .ggc-side-note, .ggc-article, .ggc-empty, .ggc-my-topics__list { background:#fff; border:1px solid var(--ggc-line); border-radius:16px; box-shadow:0 8px 28px #3d1d2310; }
.ggc-recent-card { display:flex; flex-direction:column; min-height:218px; padding:23px 25px; transition:transform .2s,box-shadow .2s; }
.ggc-recent-card:hover, .ggc-board-card:hover { transform:translateY(-3px); box-shadow:0 15px 36px #3d1d231a; }
.ggc-recent-card__top { display:flex; align-items:center; gap:9px; }
.ggc-chip { display:inline-block; padding:5px 9px; border-radius:6px; background:#fff0f1; color:#b71920; font-size:.72rem; font-weight:800; }
.ggc-recent-card h3 { margin:15px 0 7px; font-size:1.18rem; line-height:1.35; }
.ggc-recent-card h3 a, .ggc-board-card h4 a, .ggc-topic-card h3 a { color:var(--ggc-ink); }
.ggc-recent-card h3 a:hover, .ggc-board-card h4 a:hover, .ggc-topic-card h3 a:hover { color:var(--ggc-red); }
.ggc-recent-card>p { margin:0 0 18px; color:var(--ggc-muted); font-size:.89rem; line-height:1.6; }
.ggc-recent-card__footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:15px; border-top:1px solid var(--ggc-line); color:var(--ggc-muted); font-size:.78rem; }
.ggc-recent-card__footer>span:first-child { display:inline-flex; align-items:center; gap:8px; min-width:0; }
.ggc-avatar { display:inline-grid; flex:none; place-items:center; width:44px; height:44px; border-radius:50%; background:#ffe5e7; color:#d51f28; font-size:1rem; font-weight:800; }
.ggc-avatar--small { width:28px; height:28px; font-size:.75rem; }
.ggc-recent-card__footer img, .ggc-topic-card__avatar img, .ggc-article__author img { flex:none; border-radius:50%; }
.ggc-board-group { margin-top:32px; }
.ggc-board-group__heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:14px; }
.ggc-board-group__heading h3 { margin:0; font-size:1.05rem; }
.ggc-board-group__heading>span, .ggc-section-count { color:var(--ggc-muted); font-size:.81rem; }
.ggc-board-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.ggc-board-card { display:flex; flex-direction:column; min-height:250px; padding:22px; transition:transform .2s,box-shadow .2s; }
.ggc-board-card__top { display:flex; justify-content:space-between; align-items:center; }
.ggc-board-card__icon { display:grid; place-items:center; width:43px; height:43px; border-radius:12px; background:#ffe5e7; color:var(--ggc-red); font-size:1.25rem; font-weight:800; }
.ggc-board-card__arrow { color:#9f6e74; font-size:1.1rem; }
.ggc-board-card h4 { margin:18px 0 8px; font-size:1.13rem; }
.ggc-board-card>p { margin:0 0 16px; color:var(--ggc-muted); font-size:.86rem; line-height:1.55; }
.ggc-board-card__meta { display:flex; gap:16px; margin-top:auto; color:#76545a; font-size:.77rem; font-weight:700; }
.ggc-board-card__latest { display:grid; gap:4px; min-width:0; margin-top:17px; padding-top:13px; border-top:1px solid var(--ggc-line); font-size:.77rem; }
.ggc-board-card__latest span { color:var(--ggc-muted); }
.ggc-board-card__latest a { overflow:hidden; color:var(--ggc-ink); font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.ggc-my-topics__list { overflow:hidden; }
.ggc-my-topics__list>div { display:flex; align-items:center; gap:14px; padding:13px 18px; border-bottom:1px solid var(--ggc-line); }
.ggc-my-topics__list>div:last-child { border:0; }
.ggc-my-topics__list a { color:var(--ggc-ink); font-weight:650; }
.ggc-breadcrumb, .community-page--submit .forum-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin:0 0 21px; color:var(--ggc-muted); font-size:.82rem; }
.ggc-breadcrumb a, .community-page--submit .forum-breadcrumb a { color:var(--ggc-red); font-weight:700; }
.ggc-board-hero { display:flex; justify-content:space-between; align-items:center; gap:32px; padding:34px 41px; border-radius:20px; }
.ggc-board-hero h1 { margin:8px 0; color:#fff; font-size:clamp(2rem,3.6vw,3rem); line-height:1.12; }
.ggc-board-hero p { max-width:560px; margin:0; color:#efdcdf; line-height:1.6; }
.ggc-board-hero__aside { display:flex; align-items:center; gap:20px; flex:none; }
.ggc-board-hero__aside>div { display:grid; gap:2px; text-align:center; }
.ggc-board-hero__aside strong { font-size:1.6rem; }
.ggc-board-hero__aside span { color:#efdcdf; font-size:.76rem; }
.ggc-board-layout, .ggc-topic-layout { display:grid; grid-template-columns:minmax(0,1fr) 276px; align-items:start; gap:24px; margin-top:35px; }
.ggc-board-main .ggc-section-heading { margin-bottom:18px; }
.ggc-filter { display:flex; gap:9px; margin-bottom:16px; padding:11px; border:1px solid var(--ggc-line); border-radius:13px; background:#fff; }
.ggc-filter input { flex:1; min-width:0; }
.ggc-filter :is(input,select) { min-height:41px; padding:9px 12px; border:1px solid var(--ggc-line); border-radius:8px; background:#fff; color:var(--ggc-ink); font:inherit; font-size:.85rem; }
.ggc-filter button { padding:8px 16px; border:0; border-radius:8px; background:var(--ggc-red); color:#fff; font-weight:700; cursor:pointer; }
.ggc-topic-list { display:grid; gap:11px; }
.ggc-topic-card { display:grid; grid-template-columns:44px minmax(0,1fr) 70px; gap:16px; align-items:start; padding:20px; }
.ggc-topic-card__label { color:var(--ggc-red); font-size:.69rem; font-weight:800; letter-spacing:.08em; }
.ggc-topic-card h3 { margin:5px 0 6px; font-size:1.06rem; line-height:1.4; }
.ggc-topic-card__body>p { margin:0 0 10px; color:var(--ggc-muted); font-size:.84rem; line-height:1.55; }
.ggc-topic-card__meta { display:flex; gap:7px; color:#78909a; font-size:.76rem; }
.ggc-topic-card__replies { display:grid; gap:2px; justify-items:center; padding:8px 4px; border-radius:10px; background:#fff0f1; color:var(--ggc-red); }
.ggc-topic-card__replies strong { font-size:1.12rem; }
.ggc-topic-card__replies span { font-size:.7rem; }
.ggc-board-side, .ggc-topic-side { display:grid; gap:15px; }
.ggc-side-card { padding:23px; }
.ggc-side-card h2 { margin:8px 0 12px; font-size:1.15rem; }
.ggc-side-card>p { color:var(--ggc-muted); font-size:.88rem; line-height:1.6; }
.ggc-side-card ul { padding:0; margin:10px 0 15px; list-style:none; }
.ggc-side-card li { border-bottom:1px solid var(--ggc-line); }
.ggc-side-card li a { display:flex; justify-content:space-between; gap:12px; padding:11px 0; color:var(--ggc-ink); font-size:.84rem; font-weight:650; line-height:1.4; }
.ggc-side-card li a:hover, .ggc-side-card__all { color:var(--ggc-red); }
.ggc-side-card__all { font-size:.8rem; font-weight:750; }
.ggc-side-card--cta { background:#fff1f2; border-color:#f1d5d8; }
.ggc-side-card--cta .ggc-button { width:100%; margin-top:8px; }
.ggc-side-note { display:flex; gap:13px; padding:18px 21px; background:#fffafa; color:var(--ggc-muted); }
.ggc-side-note>span { color:var(--ggc-red); }
.ggc-side-note p { margin:0; font-size:.82rem; line-height:1.55; }
.ggc-empty { padding:45px 25px; text-align:center; }
.ggc-empty>span { display:grid; place-items:center; width:50px; height:50px; margin:0 auto 12px; border-radius:50%; background:#ffe5e7; color:var(--ggc-red); }
.ggc-empty h3 { margin:0 0 7px; }
.ggc-empty p { color:var(--ggc-muted); }
.ggc-empty a { color:var(--ggc-red); font-weight:700; }
.ggc-pagination ul { display:flex; justify-content:center; gap:7px; padding:0; margin:22px 0 0; list-style:none; }
.ggc-pagination a, .ggc-pagination span { display:grid; place-items:center; min-width:35px; height:35px; padding:0 9px; border:1px solid var(--ggc-line); border-radius:8px; background:#fff; color:var(--ggc-ink); }
.ggc-pagination .current { border-color:var(--ggc-red); background:var(--ggc-red); color:#fff; }
.ggc-article { overflow:hidden; }
.ggc-article__header { padding:32px 35px 25px; border-bottom:1px solid var(--ggc-line); }
.ggc-article__labels { display:flex; gap:8px; align-items:center; }
.ggc-article h1 { margin:16px 0 24px; font-size:clamp(1.75rem,3vw,2.55rem); line-height:1.2; letter-spacing:-.03em; }
.ggc-article__meta { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.ggc-article__author { display:flex; align-items:center; gap:10px; }
.ggc-article__author>span { display:grid; gap:2px; }
.ggc-article__author strong { font-size:.85rem; }
.ggc-article__author small, .ggc-article__reply-count { color:var(--ggc-muted); font-size:.78rem; }
.ggc-article__content { min-height:170px; padding:30px 35px; line-height:1.75; overflow-wrap:anywhere; }
.ggc-article__content :first-child { margin-top:0; }
.ggc-article__footer { display:flex; justify-content:space-between; gap:15px; padding:16px 35px; border-top:1px solid var(--ggc-line); background:#fff9f9; color:var(--ggc-muted); font-size:.8rem; }
.ggc-article__footer a { color:var(--ggc-red); font-weight:700; white-space:nowrap; }
.ggc-topic-page .comments-area { padding:28px 35px; border-color:var(--ggc-line); border-radius:16px; box-shadow:0 8px 28px #3d1d2310; }
.ggc-topic-page :is(.comments-title,.comment-reply-title) { color:var(--ggc-ink); font-size:1.3rem; }
.ggc-topic-page .comment-body { border-color:var(--ggc-line); }
.ggc-topic-page .comment-form :is(input:not([type="submit"]),textarea) { border-color:var(--ggc-line); border-radius:8px; }
.ggc-topic-page .comment-form input[type="submit"] { border-radius:9px; background:var(--ggc-red); }
.community-page--login { max-width:1160px; padding-block:37px 88px; }
.ggc-auth { display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,.9fr); overflow:hidden; min-height:560px; border:1px solid var(--ggc-line); border-radius:22px; box-shadow:0 20px 55px #3d1d2319; }
.ggc-auth__intro { display:flex; flex-direction:column; padding:42px clamp(30px,5vw,60px); }
.ggc-auth__back { align-self:start; margin-bottom:auto; color:#f8e1e4; font-size:.85rem; font-weight:700; }
.ggc-auth__intro h1 { max-width:450px; margin:15px 0 13px; color:#fff; font-size:clamp(2.2rem,4vw,3.5rem); line-height:1.12; letter-spacing:-.04em; }
.ggc-auth__intro>p { max-width:430px; margin:0; color:#f1dfe2; line-height:1.7; }
.ggc-auth__benefits { display:grid; gap:14px; margin-top:auto; padding-top:45px; }
.ggc-auth__benefits>div { display:flex; align-items:center; gap:10px; color:#fff0f1; font-size:.88rem; }
.ggc-auth__benefits span { display:grid; place-items:center; width:28px; height:28px; border-radius:8px; background:#ffffff20; color:#ffc2c5; }
.ggc-auth__panel { display:flex; flex-direction:column; justify-content:center; padding:40px clamp(28px,4.5vw,65px); background:#fff; }
.ggc-auth__panel-head h2 { margin:8px 0 6px; font-size:2rem; }
.ggc-auth__panel-head p { margin:0 0 24px; color:var(--ggc-muted); }
.community-page--login .community-form { gap:10px; padding:0; border:0; border-radius:0; }
.community-page--login .community-form label { margin-top:6px; color:var(--ggc-ink); font-size:.85rem; }
.community-page--login .community-form input:not([type="hidden"]) { min-height:46px; border-color:var(--ggc-line); border-radius:8px; }
.community-page--login .community-form .button { justify-self:stretch; min-height:47px; margin-top:12px; border-radius:9px; background:var(--ggc-red); }
.community-page--login .community-login-alert { margin-bottom:20px; }
.community-page--submit .community-compose__header { position:relative; overflow:hidden; padding:37px 43px; border-radius:20px; }
.community-page--submit .community-compose__eyebrow { color:#ffc2c5; }
.community-page--submit .community-compose__header h1 { color:#fff; }
.community-page--submit .community-compose__header>p:last-child { color:#f1dfe2; }
.community-page--submit :is(.community-compose__panel,.community-compose__tip-card,.community-compose__review-card) { border-color:var(--ggc-line); box-shadow:0 8px 28px #3d1d2310; }
.community-page--submit .community-compose__step { background:#ffe5e7; color:var(--ggc-red); }
.community-page--submit .community-compose__field :is(input,select,textarea) { border-color:var(--ggc-line); }
.community-page--submit :is(.community-compose__actions .button,.community-compose__login .button) { background:var(--ggc-red); }
.community-page--submit :is(.community-compose__actions .button,.community-compose__login .button):hover { background:#b71920; }
@media(max-width:950px) { .ggc-hero { grid-template-columns:1fr; min-height:0; } .ggc-hero__stats { max-width:370px; } .ggc-board-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ggc-board-layout,.ggc-topic-layout { grid-template-columns:minmax(0,1fr); } .ggc-board-side,.ggc-topic-side { grid-template-columns:repeat(2,minmax(0,1fr)); } .ggc-board-hero { flex-wrap:wrap; } .ggc-auth { grid-template-columns:1fr 1fr; } }
@media(max-width:680px) { .ggc-page,.community-page--login,.community-page--submit { padding-block:20px 60px; } .ggc-hero { padding:32px 25px; border-radius:17px; } .ggc-hero h1 { font-size:2.45rem; } .ggc-section-heading { align-items:start; flex-wrap:wrap; } .ggc-recent,.ggc-boards,.ggc-my-topics { margin-top:39px; } .ggc-recent__grid,.ggc-board-grid,.ggc-board-side,.ggc-topic-side { grid-template-columns:1fr; } .ggc-board-hero { padding:29px 25px; } .ggc-board-hero__aside { flex-wrap:wrap; } .ggc-filter { flex-wrap:wrap; } .ggc-filter input { flex-basis:100%; } .ggc-filter select { flex:1; } .ggc-topic-card { grid-template-columns:35px minmax(0,1fr); gap:11px; padding:17px; } .ggc-topic-card__avatar img { width:35px; height:35px; } .ggc-topic-card__replies { grid-column:2; justify-self:start; display:flex; align-items:center; gap:5px; padding:4px 9px; } .ggc-article__header,.ggc-article__content,.ggc-topic-page .comments-area { padding:23px; } .ggc-article__footer { padding:16px 23px; flex-wrap:wrap; } .ggc-auth { grid-template-columns:1fr; } .ggc-auth__intro { min-height:330px; padding:30px; } .ggc-auth__benefits { padding-top:25px; } .ggc-auth__panel { padding:32px 28px; } .community-page--submit .community-compose__header { padding:29px 25px; } }
@media(max-width:680px) {
  .site-header__inner { gap:12px; }
  .site-branding { flex:0 1 108px; min-width:80px; margin-right:auto; }
  .site-branding__logo { width:108px; }
  .header-account { gap:7px; }
  .header-account a,.header-account button,.header-account__name { font-size:.72rem; }
  .ggc-topic-card__avatar .ggc-avatar { width:35px; height:35px; }
}
