:root{--ink:#17251e;--ink-soft:#526058;--green:#0d3b2a;--green-hover:#1b543d;--paper:#fcfaf7;--paper-deep:#f4f1ec;--beige:#e9e2d8;--line:#e4dfd8;--accent:#d96a4d;--white:#fff;--shadow:0 14px 35px rgba(13,59,42,.09);--radius:18px;--container:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Pretendard,Arial,sans-serif;line-height:1.65}.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}a{color:inherit;text-decoration:none}button,input{font:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:fixed;left:1rem;top:-4rem;background:var(--green);color:#fff;padding:.7rem 1rem;z-index:100}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:20;background:rgba(252,250,247,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(228,223,216,.8)}.header-inner{height:78px;width:min(var(--container),calc(100% - 48px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{font-weight:800;font-size:1.25rem;letter-spacing:-.07em;color:var(--ink)}.desktop-nav{display:flex;align-items:center;height:100%;gap:1.75rem;margin-left:auto;margin-right:1.5rem;font-size:.83rem;color:#69716c}.desktop-nav a{height:100%;display:grid;place-items:center;position:relative;transition:color .2s}.desktop-nav a:hover,.desktop-nav a.active{color:var(--ink);font-weight:700}.desktop-nav a.active:after{content:"";position:absolute;bottom:0;width:18px;height:2px;background:var(--green)}.header-actions{display:flex;align-items:center;gap:.75rem}.icon-button,.menu-button,.close-button{border:0;background:transparent;color:var(--ink);cursor:pointer}.icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.menu-button{display:none;width:34px;padding:6px}.menu-button span{display:block;width:22px;height:1.5px;background:var(--ink);margin:4px auto}.mobile-nav{display:none}.hero{min-height:538px;display:grid;place-items:center;position:relative;overflow:hidden}.hero-image,.hero-overlay{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover}.hero-overlay{background:rgba(247,243,235,.63);backdrop-filter:blur(1.6px)}.hero-content{position:relative;z-index:1;text-align:center;padding:4rem 0}.eyebrow{margin:0 0 .7rem;font-size:.7rem;font-weight:700;letter-spacing:.13em;color:#66726b}.hero h1{font-family:'Gowun Batang',serif;font-size:clamp(2.5rem,5vw,4.25rem);font-weight:400;line-height:1.18;letter-spacing:-.07em;margin:0 0 1.25rem}.hero h1 strong{font-weight:700}.hero-content>p:not(.eyebrow){margin:0;color:#47564d;font-size:1rem}.hero-search{width:min(100%,450px);height:58px;display:flex;margin:2rem auto 0;background:#fff;border:1px solid rgba(226,219,209,.85);border-radius:999px;box-shadow:0 7px 20px rgba(30,39,33,.07);overflow:hidden}.hero-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;padding:0 1.4rem;color:var(--ink)}.hero-search input::placeholder{color:#a7aca7}.hero-search button{width:58px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.hero-search svg{width:20px;fill:none;stroke:var(--green);stroke-width:2;stroke-linecap:round}.quick-links{display:flex;justify-content:center;gap:clamp(1rem,4vw,3.8rem);padding:3.5rem 0}.quick-links a{display:flex;flex-direction:column;align-items:center;gap:.6rem;font-size:.78rem;font-weight:600;color:#505b54;transition:transform .2s,color .2s}.quick-links a:hover{transform:translateY(-4px);color:var(--green)}.quick-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#eee7de;font-size:1.4rem;color:var(--green);transition:background .2s,color .2s}.quick-links a:hover .quick-icon{background:var(--green);color:#fff}.section{padding:5.5rem 0}.section-heading{margin-bottom:2rem}.section-heading .accent{color:var(--accent)}h2{font-family:'Gowun Batang',serif;font-size:clamp(1.85rem,3.2vw,2.7rem);line-height:1.32;letter-spacing:-.07em;margin:.25rem 0}.featured-card{display:grid;grid-template-columns:1.15fr .85fr;min-height:390px;background:var(--paper-deep);border-radius:var(--radius);overflow:hidden}.featured-image{overflow:hidden;min-height:100%}.featured-image img,.post-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}.featured-card:hover img,.post-card:hover img{transform:scale(1.055)}.featured-copy{padding:clamp(2rem,5vw,4.2rem);align-self:center}.tag{display:inline-block;padding:.26rem .68rem;border-radius:999px;background:#e9e1d6;color:#495348;font-size:.68rem;font-weight:700;line-height:1.3}.featured-copy h3{font-family:'Gowun Batang',serif;font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.35;letter-spacing:-.07em;margin:1rem 0}.featured-copy p{color:#667069;font-size:.93rem;margin:0 0 1.8rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.85rem 1.15rem;border:0;border-radius:8px;background:var(--green);color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:var(--green-hover);transform:translateY(-2px)}.latest{padding:5rem 0;background:#f8f6f2}.latest-header{display:flex;justify-content:space-between;gap:1.5rem;align-items:end;margin-bottom:1.8rem}.latest-header h2{margin:0}.latest-header p:not(.eyebrow){margin:.35rem 0 0;color:#778079;font-size:.88rem}.text-button{border:0;background:transparent;color:var(--green);font-size:.8rem;font-weight:700;padding:.5rem;cursor:pointer}.filter-row{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:1.4rem;margin-bottom:.3rem}.filter{white-space:nowrap;padding:.48rem .85rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:#657068;font-size:.74rem;cursor:pointer;transition:.2s}.filter:hover,.filter.active{background:var(--green);border-color:var(--green);color:#fff}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem 1.5rem}.post-card{min-width:0;transition:opacity .2s}.post-card[hidden]{display:none}.post-image{height:210px;border-radius:12px;display:block;overflow:hidden;margin-bottom:1.1rem;background:#ede7de}.post-card h3{font-family:'Gowun Batang',serif;font-size:1.22rem;line-height:1.45;letter-spacing:-.055em;margin:.65rem 0 .45rem}.post-card h3 a:hover{color:var(--green)}.post-card p{font-size:.8rem;color:#6d7670;line-height:1.6;margin:0}.empty-state{padding:2rem;text-align:center;color:#718078}.popular{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;align-items:start}.popular-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink)}.popular-list li{display:grid;grid-template-columns:48px 1fr auto;gap:1rem;align-items:center;border-bottom:1px solid var(--line);padding:1.15rem 0}.popular-list span{font-size:.76rem;font-weight:700;color:var(--accent)}.popular-list a{font-family:'Gowun Batang',serif;letter-spacing:-.04em}.popular-list a:hover{color:var(--green)}.popular-list time{font-size:.72rem;color:#879089}.newsletter{background:#eceae6;padding:5.5rem 0;text-align:center}.newsletter-inner{max-width:670px}.mail-icon{font-size:1.8rem;color:var(--green);margin-bottom:.4rem}.newsletter h2{font-size:clamp(1.65rem,3vw,2.25rem)}.newsletter h2+p{font-size:.87rem;color:#6a746e}.newsletter-form{display:flex;max-width:580px;margin:1.8rem auto 0;gap:.5rem}.newsletter-form input{flex:1;min-width:0;border:1px solid #dad6cf;border-radius:8px;background:#fff;padding:.85rem 1rem;outline-color:var(--green);font-size:.85rem}.form-message{min-height:1.4em;color:var(--green);font-size:.8rem;margin:.65rem 0 0}.site-footer{background:#f4f2ee;padding-top:4.5rem;color:#5a645d}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:2rem;padding-bottom:4rem}.footer-grid .brand{display:inline-block;margin-bottom:.8rem}.footer-grid p{font-size:.78rem;margin:0;line-height:1.8}.footer-grid h2{font-family:inherit;font-size:.78rem;font-weight:700;letter-spacing:0;margin:0 0 .8rem}.footer-grid a:not(.brand){display:block;font-size:.76rem;margin:.38rem 0}.footer-grid a:hover{color:var(--green)}.copyright{border-top:1px solid #e2ded8;padding:1.4rem 0;text-align:center;font-size:.68rem;color:#7e8780}.search-dialog{width:min(620px,calc(100% - 32px));border:0;border-radius:18px;background:var(--paper);padding:0;box-shadow:0 24px 80px rgba(10,25,16,.25)}.search-dialog::backdrop{background:rgba(16,27,20,.52);backdrop-filter:blur(3px)}.dialog-inner{position:relative;padding:3rem}.dialog-inner h2{margin-bottom:1.5rem}.dialog-inner form{display:flex;gap:.5rem}.dialog-inner input{flex:1;min-width:0;padding:.8rem 1rem;border:1px solid var(--line);border-radius:8px;outline-color:var(--green)}.close-button{position:absolute;right:1.1rem;top:.75rem;font-size:2rem;line-height:1}.article-layout{width:min(720px,calc(100% - 48px));margin:0 auto;padding:3.5rem 0 6rem}.breadcrumbs{display:flex;gap:.5rem;color:#78817b;font-size:.75rem;margin-bottom:2rem}.article-header .tag{margin-bottom:1rem}.article-header h1{font-family:'Gowun Batang',serif;font-size:clamp(1.85rem,3.5vw,3.15rem);line-height:1.28;letter-spacing:-.07em;margin:.5rem 0 1.5rem}.article-meta{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:1.2rem;color:#748078;font-size:.78rem}.article-hero{width:100%;margin:2.5rem 0 3.5rem;border-radius:12px;overflow:hidden}.article-hero img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.article-body{font-size:1.03rem;line-height:2;color:#3f4943}.article-body .lead{font-size:1.2rem;font-weight:500;color:#526058}.article-body h2{font-family:Pretendard,sans-serif;font-size:1.35rem;border-left:3px solid var(--green);padding-left:.85rem;margin:3.2rem 0 1rem;letter-spacing:-.04em}.article-body figure{margin:2rem 0;padding:1rem;background:#f3f0eb;border-radius:12px}.article-body figure img{display:block;width:100%;border-radius:8px;max-height:400px;object-fit:cover}.article-tip{padding:1.4rem 1.6rem;background:#f2eee8;border-radius:10px;margin:2rem 0}.article-tip li::marker{color:var(--accent)}.article-actions{display:flex;justify-content:space-between;align-items:center;padding:2rem 0;border-top:1px solid var(--line);margin-top:3.5rem}.like-button{border:1px solid var(--line);border-radius:999px;padding:.65rem 1rem;background:#fff;cursor:pointer;color:var(--ink)}.like-button.liked{border-color:var(--green);color:var(--green);background:#edf5ef}@media(max-width:760px){.container,.header-inner{width:min(100% - 32px,var(--container))}.header-inner{height:65px}.desktop-nav{display:none}.menu-button{display:block}.mobile-nav{padding:0 1rem 1rem;background:var(--paper);border-bottom:1px solid var(--line)}.mobile-nav.open{display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem}.mobile-nav a{padding:.7rem;font-size:.85rem}.hero{min-height:480px}.hero-content{padding:3rem 0}.quick-links{justify-content:space-between;gap:.3rem;padding:2.5rem 0}.quick-icon{width:48px;height:48px;font-size:1.05rem}.quick-links a{font-size:.65rem}.section{padding:3.7rem 0}.featured-card{grid-template-columns:1fr}.featured-image{height:260px}.featured-copy{padding:2rem}.latest{padding:3.7rem 0}.post-grid{grid-template-columns:repeat(2,1fr);gap:2.1rem 1rem}.post-image{height:155px}.post-card h3{font-size:1.05rem}.post-card p{display:none}.popular{grid-template-columns:1fr;gap:1.6rem}.popular-list li{grid-template-columns:34px 1fr}.popular-list time{display:none}.newsletter{padding:4rem 0}.newsletter-form,.dialog-inner form{flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr;padding-bottom:2.8rem}.footer-grid>div:first-child{grid-column:span 2}.article-layout{padding-top:2rem}.article-meta{flex-direction:column;gap:.35rem}.dialog-inner{padding:2.6rem 1.4rem}.article-body{font-size:.98rem}.article-body .lead{font-size:1.08rem}}@media(max-width:390px){.post-grid{grid-template-columns:1fr}.post-image{height:200px}}
.game-table-wrap {
  overflow-x: auto;
  margin: 1.5rem 0 .85rem;
  border: 1px solid #dce3dd;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(18, 53, 43, .08);
}

.game-table {
  width: 100%;
  min-width: 700px;
  border-collapse: separate;
  border-spacing: 0;
  font-size: .9rem;
}

.game-table th {
  padding: .9rem 1rem;
  background: #123d35;
  color: #fff;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .02em;
  text-align: left;
}

.game-table th:first-child { border-radius: 17px 0 0 0; }
.game-table th:last-child { border-radius: 0 17px 0 0; }

.game-table td {
  padding: 1rem;
  border-bottom: 1px solid #e5ebe6;
  color: #35423d;
  line-height: 1.55;
  vertical-align: top;
}

.game-table tbody tr:nth-child(even) td { background: rgba(239, 247, 241, .58); }
.game-table tbody tr:last-child td { border-bottom: 0; }
.game-table tbody tr:hover td { background: #edf8ef; }

.game-table td:first-child { min-width: 145px; }
.game-table a {
  color: #0d6a51;
  font-weight: 800;
  text-decoration: none;
}
.game-table a::after { content: ' ↗'; font-size: .78em; }
.game-table a:hover { text-decoration: underline; text-underline-offset: 3px; }

.article-body .rank-source {
  margin: .8rem 0 2rem;
  color: #68776e;
  font-size: .84rem;
  line-height: 1.65;
}

/* Verified external destinations used inside guide articles. */
.article-page {
  width: min(720px, calc(100% - 48px));
  margin: 0 auto;
  padding: 3.5rem 0 6rem;
}
.article-page > .article-header > figure {
  width: 100%;
  margin: 2.5rem 0 3.5rem;
  padding: 0;
  overflow: hidden;
  border-radius: 12px;
  background: transparent;
}
.article-page > .article-header > figure img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: none;
  border-radius: 0;
  object-fit: cover;
}
.article-body .official-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem;
  margin: 1.35rem 0 1.5rem;
  padding: 1rem;
  border: 1px solid #d8e3db;
  border-radius: 14px;
  background: #f4f8f4;
}

.article-body .official-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .65rem;
  min-height: 46px;
  padding: .7rem .85rem;
  border: 1px solid #cddbd1;
  border-radius: 9px;
  background: #fff;
  color: #124f38;
  font-size: .86rem;
  font-weight: 750;
  line-height: 1.45;
  text-decoration: none;
  transition: border-color .2s, background .2s, transform .2s;
}

.article-body .official-links a::after { content: '↗'; flex: 0 0 auto; }
.article-body .official-links a:hover { border-color: var(--green); background: #edf6ef; transform: translateY(-1px); }

/* Example handles: compact, readable cards inside the Instagram guide. */
.article-body .id-examples {
  padding: 1.45rem 1.35rem 1.2rem;
  border: 1px solid #e7dcd4;
  border-radius: 16px;
  background: linear-gradient(135deg, #fff9f4 0%, #fcf7fb 100%);
}
.article-body .id-examples h2 { margin-top: .2rem; }
.id-example-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; margin: 1.15rem 0; }
.id-example-grid > div { padding: 1rem 1.05rem; border: 1px solid #eadfe6; border-radius: 12px; background: rgba(255,255,255,.82); }
.id-example-grid h3 { margin: 0 0 .55rem; color: #6f3859; font-size: .93rem; letter-spacing: -.02em; }
.id-example-grid ul { margin: 0; padding: 0; list-style: none; display: grid; gap: .36rem; }
.id-example-grid code { display: inline-block; padding: .13rem .42rem; border-radius: 5px; background: #f4edf1; color: #5b3150; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .86em; }

/* Seven-stop day route: concise timing and movement guidance for Seoul guides. */
.article-body .route-plan { margin: 2.1rem 0 2.5rem; padding: 1.35rem; border: 1px solid #d8e3db; border-radius: 16px; background: linear-gradient(135deg, #f7fbf8 0%, #fdf9f3 100%); }
.article-body .route-plan h2 { margin-top: .15rem; }
.route-plan > p { margin: .5rem 0 1.15rem; color: #5c6a62; font-size: .94rem; line-height: 1.75; }
.route-stop-list { margin: 0; padding: 0; list-style: none; display: grid; gap: .75rem; }
.route-stop-list li { display: grid; grid-template-columns: 38px 1fr; gap: .85rem; padding: .9rem; border: 1px solid #dde7df; border-radius: 12px; background: rgba(255,255,255,.86); }
.route-stop-list strong { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--green); color: #fff; font-size: .82rem; }
.route-stop-list h3 { margin: 0 0 .18rem; color: #194230; font-size: 1rem; letter-spacing: -.025em; }
.route-stop-list p { margin: 0; color: #56645d; font-size: .88rem; line-height: 1.65; }
.route-plan .route-note { margin: 1.1rem 0 0; padding-top: .9rem; border-top: 1px dashed #c8d7ca; color: #5d6b63; font-size: .84rem; }

/* Compact page navigation: keep long archives readable as new posts accumulate. */
.archive-pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .45rem; margin: 2.6rem 0 0; }
.archive-pagination a, .archive-pagination span { min-width: 2.2rem; height: 2.2rem; display: inline-grid; place-items: center; padding: 0 .45rem; border: 1px solid var(--line); border-radius: 8px; color: #5d6961; font-size: .82rem; line-height: 1; }
.archive-pagination a:hover { border-color: var(--green); color: var(--green); }
.archive-pagination span[aria-current="page"] { border-color: var(--green); background: var(--green); color: #fff; font-weight: 700; }
.archive-pagination .pagination-ellipsis { min-width: auto; border: 0; color: #8b948e; padding: 0 .1rem; }

/* Readable comparison tables inside articles. */
.article-body .table-wrap { overflow-x: auto; margin: 1.5rem 0 1.1rem; border: 1px solid #dbe4dd; border-radius: 12px; background: #fff; }
.article-body .table-wrap table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: .88rem; line-height: 1.55; }
.article-body .table-wrap th, .article-body .table-wrap td { padding: .85rem .9rem; border-bottom: 1px solid #e7ece8; text-align: left; vertical-align: top; }
.article-body .table-wrap th { background: #edf4ef; color: #234a35; font-weight: 700; white-space: nowrap; }
.article-body .table-wrap tbody tr:last-child td { border-bottom: 0; }
.article-body .table-wrap tbody tr:nth-child(even) { background: #fbfcfa; }
.article-body .table-wrap td:first-child { font-weight: 700; color: #2a6040; white-space: nowrap; }

@media (max-width: 560px) {
  .article-page { width: min(100% - 32px, 720px); padding-top: 2rem; }
  .article-body .official-links { grid-template-columns: 1fr; }
  .id-example-grid { grid-template-columns: 1fr; }
  .article-body .id-examples { padding: 1.15rem 1rem; }
  .article-body .route-plan { padding: 1.1rem 1rem; }
}
