:root {
  --gatour-bg: #fbfaf7;
  --gatour-paper: #ffffff;
  --gatour-ink: #142b48;
  --gatour-muted: #75808d;
  --gatour-line: #e8e5df;
  --gatour-accent: #df705f;
}

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--gatour-bg); color: var(--gatour-ink); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", sans-serif; }
.gatour-site { min-height: 100vh; }
.gatour-header { padding: 28px 20px 20px; }
.gatour-header__inner, .gatour-main, .gatour-footer { width: min(680px, calc(100% - 40px)); margin: 0 auto; }
.gatour-header__inner { display: flex; align-items: center; justify-content: space-between; }
.gatour-logo { color: var(--gatour-ink); font-family: Georgia, serif; font-size: 23px; letter-spacing: .03em; text-decoration: none; }
.gatour-nav { display: flex; align-items: center; gap: 20px; font-size: 14px; }
.gatour-nav a, .gatour-post a, .gatour-empty a { color: inherit; text-decoration: none; }
.gatour-nav a:hover, .gatour-post a:hover, .gatour-empty a:hover { color: var(--gatour-accent); }
.gatour-menu-group { position: relative; }
.gatour-menu-group summary { cursor: pointer; list-style: none; }
.gatour-menu-group summary::-webkit-details-marker { display: none; }
.gatour-menu-group summary::after { content: "⌄"; margin-left: 4px; color: var(--gatour-muted); font-size: 11px; }
.gatour-menu-group__panel { position: absolute; z-index: 20; top: calc(100% + 10px); right: 0; display: grid; min-width: 142px; padding: 8px; border: 1px solid var(--gatour-line); border-radius: 10px; background: var(--gatour-paper); box-shadow: 0 12px 28px rgba(20, 43, 72, .1); }
.gatour-menu-group__panel a { padding: 8px 10px; border-radius: 6px; white-space: nowrap; }
.gatour-menu-group__panel a:hover { background: #f2f0ea; }
.gatour-main { padding: 32px 0 24px; }
.gatour-profile { display: flex; align-items: center; gap: 18px; padding: 0 0 32px; border-bottom: 1px solid var(--gatour-line); }
.gatour-avatar { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #dce5e8; color: var(--gatour-ink); font-family: Georgia, serif; font-size: 27px; }
.gatour-profile h1 { margin: 0 0 5px; font-family: Georgia, "Noto Serif KR", serif; font-size: 25px; font-weight: 500; }
.gatour-profile p { margin: 0; color: var(--gatour-muted); font-size: 15px; }
.gatour-feed { margin-top: 2px; }
.gatour-post { padding: 28px 0 25px; border-bottom: 1px solid var(--gatour-line); }
.gatour-post__meta { display: flex; gap: 12px; margin: 0 0 9px; color: var(--gatour-muted); font-size: 13px; }
.gatour-post__meta a { color: var(--gatour-accent); }
.gatour-post__image { display: block; margin: 0 0 17px; overflow: hidden; border-radius: 14px; background: #edf0f1; }
.gatour-post__image img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .25s ease; }
.gatour-post__image:hover img { transform: scale(1.015); }
.gatour-post h2 { margin: 0; font-family: Georgia, "Noto Serif KR", serif; font-size: 21px; line-height: 1.4; font-weight: 500; }
.gatour-post__excerpt { margin: 10px 0 0; color: #4e5c6a; font-size: 15px; line-height: 1.75; }
.gatour-post__actions { margin: 14px 0 0; font-size: 13px; }
.gatour-post__actions a { color: var(--gatour-muted); }
.gatour-feed--dynamic .gatour-post--pending { display: none; }
.gatour-post--revealing { animation: gatour-post-reveal .38s ease both; }
.gatour-feed__sentinel { display: grid; min-height: 38px; margin-top: 170px; place-items: center; transition: margin-top .25s ease; }
.gatour-feed__sentinel.has-started { margin-top: 72px; }
.gatour-feed__sentinel span { width: 22px; height: 22px; border: 2px solid #d9e3e6; border-top-color: var(--gatour-accent); border-radius: 50%; animation: gatour-feed-spin .8s linear infinite; }
@keyframes gatour-post-reveal { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes gatour-feed-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .gatour-post--revealing,.gatour-feed__sentinel span { animation: none; } }
.gatour-empty { padding: 56px 0; color: var(--gatour-muted); text-align: center; }
.gatour-empty a { color: var(--gatour-accent); }
.gatour-footer { padding: 28px 0 42px; color: #98a0a7; font-size: 12px; text-align: center; }
.gatour-footer p { margin: 0; }
.gatour-footer__links { display: flex; justify-content: center; gap: 8px 16px; margin: 0 0 12px; flex-wrap: wrap; }
.gatour-footer__links a { color: #677481; text-decoration: none; }
.gatour-footer__links a:hover { color: var(--gatour-accent); }

/* Article reading experience: preserve Gnuboard controls while softening the body copy. */
#bo_v { color: var(--gatour-ink); }
#bo_v_title { margin: 0 0 12px; font-family: Georgia, "Noto Serif KR", serif; font-size: clamp(27px, 5vw, 34px); line-height: 1.35; letter-spacing: -.04em; font-weight: 500; }
#bo_v_info { margin: 0 0 30px; color: var(--gatour-muted); font-size: 13px; }
#bo_v_con { max-width: 620px; padding: 4px 0 20px; color: #354657; font-family: Georgia, "Noto Serif KR", "Noto Sans KR", serif; font-size: 17px; line-height: 2; letter-spacing: -.01em; word-break: keep-all; overflow-wrap: break-word; }
#bo_v_con p { margin: 0 0 1.7em; }
#bo_v_con p:last-child { margin-bottom: 0; }
#bo_v_con img { display: block; width: 100% !important; max-width: 100%; height: auto !important; margin: 0 0 31px; border-radius: 16px; box-shadow: 0 12px 30px rgba(20, 43, 72, .09); }
#bo_v_con a { color: var(--gatour-accent); text-decoration: underline; text-underline-offset: 3px; }
#bo_v_con blockquote { margin: 2em 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--gatour-accent); color: #5f6c78; }
#bo_v_con hr { height: 1px; margin: 2.4em 0; border: 0; background: var(--gatour-line); }

/* Core member login skin: styled here so core files and membership flows remain intact. */
#mb_login { width: min(100%, 430px); margin: 38px auto 72px; padding: 32px; border: 1px solid var(--gatour-line); border-radius: 14px; background: var(--gatour-paper); box-shadow: 0 14px 38px rgba(20, 43, 72, .05); }
#mb_login h1, #mb_login h2 { margin: 0 0 22px; color: var(--gatour-ink); font-family: Georgia, "Noto Serif KR", serif; font-size: 27px; font-weight: 500; }
#mb_login input[type="text"], #mb_login input[type="password"], #mb_login input[type="email"] { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #d8dce0; border-radius: 7px; background: #fff; color: var(--gatour-ink); }
#mb_login .btn_submit, #mb_login input[type="submit"] { width: 100%; min-height: 46px; border: 0; border-radius: 7px; background: var(--gatour-ink); color: #fff; font-size: 15px; cursor: pointer; }
#mb_login .btn_submit:hover, #mb_login input[type="submit"]:hover { background: #23476f; }
#mb_login a { color: var(--gatour-muted); }
#mb_login .btn_login, #mb_login .btn_submit { margin-top: 10px; }

@media (max-width: 560px) {
  .gatour-header { padding: 17px 16px 12px; }
  .gatour-header__inner, .gatour-main, .gatour-footer { width: min(100% - 32px, 680px); }
  .gatour-header__inner { align-items: flex-start; flex-direction: column; gap: 13px; }
  .gatour-logo { font-size: 21px; }
  .gatour-nav { width: 100%; gap: 8px 15px; flex-wrap: wrap; font-size: 13px; }
  .gatour-nav > a, .gatour-menu-group > summary { display: inline-flex; min-height: 32px; align-items: center; }
  .gatour-menu-group__panel { right: auto; left: 0; }
  .gatour-main { padding-top: 21px; }
  .gatour-profile { padding-bottom: 25px; }
  .gatour-avatar { width: 54px; height: 54px; font-size: 23px; }
  .gatour-profile h1 { font-size: 22px; }
  .gatour-profile p { font-size: 14px; }
  .gatour-post { padding: 24px 0; }
  .gatour-post h2 { font-size: 19px; }
  .gatour-feed__sentinel { margin-top: 125px; }
  .gatour-feed__sentinel.has-started { margin-top: 58px; }
  #bo_v_con { font-size: 16px; line-height: 1.9; }
  #bo_v_con img { margin-bottom: 24px; border-radius: 12px; }
  #mb_login { margin-top: 24px; padding: 24px 20px; }
}
.gatour-hubs { width:min(100%,940px); margin:24px auto 72px; padding:34px 0 0; border-top:1px solid #e3e7e4; }
.gatour-hubs__head { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,420px); gap:7px 36px; align-items:end; margin-bottom:26px; }
.gatour-hubs__head>p:first-child { grid-column:1/-1; margin:0; color:#9a7455; font-size:10px; font-weight:700; letter-spacing:.18em; }
.gatour-hubs__head h2 { margin:0; color:#223c33; font:500 28px/1.3 Georgia,"Noto Serif KR",serif; letter-spacing:-.035em; }
.gatour-hubs__head>p:last-child { margin:0; color:#718078; font-size:13px; line-height:1.7; text-align:right; }
.gatour-hubs__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #dfe5e1; border-left:1px solid #dfe5e1; }
.gatour-hub { display:flex; min-height:142px; flex-direction:column; padding:22px; border-right:1px solid #dfe5e1; border-bottom:1px solid #dfe5e1; background:#fff; color:#32473f; text-decoration:none; transition:background .2s,color .2s; }
.gatour-hub:hover { background:#f4f7f4; color:#173f32; }
.gatour-hub span { color:#9a7455; font-size:9px; font-weight:700; letter-spacing:.13em; }
.gatour-hub strong { margin:15px 0 7px; font-size:18px; line-height:1.4; }
.gatour-hub small { color:#7b8882; font-size:11px; line-height:1.65; }
@media (max-width:760px) { .gatour-hubs { margin-bottom:52px; } .gatour-hubs__head { grid-template-columns:1fr; } .gatour-hubs__head>p:first-child { grid-column:auto; } .gatour-hubs__head>p:last-child { text-align:left; } .gatour-hubs__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:460px) { .gatour-hubs__grid { grid-template-columns:1fr; } .gatour-hub { min-height:118px; } }
