.guides-shell{background:#fffaf3;box-shadow:0 0 0 1px rgba(0,0,0,.04)}
.guide-topbar{position:sticky;top:0;z-index:24;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 18px 8px;background:rgba(255,250,243,.95);backdrop-filter:blur(16px)}
.guide-topbar h1{margin:0;color:#1f302a;font-size:23px;line-height:1.2;font-weight:900;letter-spacing:.02em}.guide-topbar p{margin:5px 0 0;color:#8f8b82;font-size:11px}.guide-search-btn{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#20322b;font-size:31px;transform:rotate(-12deg)}
.guide-main{padding:0 10px 104px}.guide-tabs{position:sticky;top:74px;z-index:22;display:flex;align-items:center;gap:28px;padding:3px 0 12px;background:rgba(255,250,243,.94);backdrop-filter:blur(16px)}.tab-btn{position:relative;min-width:42px;min-height:44px;padding:0;color:#8a897f;font-weight:800;font-size:14px}.tab-btn.active{color:#172d25}.tab-btn.active::after{content:"";position:absolute;left:50%;bottom:4px;width:22px;height:3px;border-radius:999px;background:#07895d;transform:translateX(-50%)}
.category-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:2px 0 13px;padding:10px 6px;background:#fff;border:1px solid #f1eadf;border-radius:14px;box-shadow:0 7px 20px rgba(47,39,28,.06)}.category-card{min-width:0;min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border-radius:12px;color:#243a32;background:linear-gradient(180deg,#fff,#fff9ef);box-shadow:inset 0 0 0 1px rgba(235,228,218,.64)}.category-card span{width:28px;height:24px;display:grid;place-items:center;color:#0a7650;font-size:23px;line-height:1}.category-card strong{font-size:11px;white-space:nowrap}.category-card.active{box-shadow:inset 0 0 0 1px rgba(17,135,92,.18),0 8px 18px rgba(17,135,92,.08)}.category-card:focus-visible,.tab-btn:focus-visible,.guide-search-btn:focus-visible,.post-card a:focus-visible{outline:3px solid rgba(22,135,91,.35);outline-offset:2px}
.masonry-feed{column-count:2;column-gap:8px}.post-card{break-inside:avoid;margin:0 0 8px;background:#fff;border:1px solid #eee5d7;border-radius:9px;overflow:hidden;box-shadow:0 5px 18px rgba(50,40,30,.07)}.post-cover{display:block;height:168px;background:#ddd;position:relative;overflow:hidden}.post-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.08))}.post-card.tall .post-cover{height:224px}.post-body{padding:8px 8px 10px}.post-body h2{margin:0 0 8px;color:#22332c;font-size:13px;line-height:1.34;font-weight:900;letter-spacing:.01em}.post-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#8b8a82;font-size:11px}.author{min-width:0;display:flex;align-items:center;gap:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar-dot{width:18px;height:18px;flex:0 0 auto;display:inline-block;border-radius:50%;background:#ccc;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04)}.avatar-dot.teal{background:linear-gradient(135deg,#036d7e,#20d1c0)}.avatar-dot.coral{background:linear-gradient(135deg,#f28f7a,#bb5d50)}.avatar-dot.gray{background:linear-gradient(135deg,#e2e0d6,#6f716f)}.avatar-dot.blue{background:linear-gradient(135deg,#9ed8ff,#276d9f)}.avatar-dot.green{background:linear-gradient(135deg,#7fd59d,#257a4c)}
.seaside .post-cover{background:linear-gradient(140deg,#bfe6ff 0 28%,#f7faf3 28% 34%,#84b3bd 34% 52%,#2f789c 52% 70%,#d9b973 70% 100%)}.seaside .post-cover::before{content:"";position:absolute;left:38%;bottom:18px;width:54px;height:90px;border-radius:28px 28px 12px 12px;background:linear-gradient(180deg,#ffdf40 0 20%,#1c92ca 21% 100%);box-shadow:0 18px 0 rgba(21,104,156,.28)}
.spa-room .post-cover{background:radial-gradient(circle at 57% 15%,rgba(255,255,255,.85) 0 10%,transparent 11%),linear-gradient(135deg,#efd2bd 0 38%,#f8eadf 38% 62%,#c69076 63% 100%)}.spa-room .post-cover::before{content:"";position:absolute;right:26px;bottom:26px;width:64px;height:110px;border-radius:40px 40px 8px 8px;background:linear-gradient(180deg,#fff4ee 0 20%,#f6b8a6 21% 65%,#e7c0b2 66% 100%);box-shadow:-62px 26px 0 -18px rgba(255,255,255,.65)}
.cream-room .post-cover{background:linear-gradient(180deg,#e8dfd2 0 25%,#fbf5ec 25% 68%,#d1bd9e 68% 100%)}.cream-room .post-cover::before{content:"";position:absolute;left:26px;right:26px;bottom:34px;height:34px;border-radius:999px;background:#fff;box-shadow:0 -48px 0 -13px rgba(255,255,255,.85),0 20px 0 -7px rgba(193,158,104,.35)}
.water-park .post-cover{background:linear-gradient(135deg,#272d22 0 18%,#a1b56a 18% 30%,#3b5849 30% 58%,#1c2b2e 58% 100%)}.water-park .post-cover::before{content:"";position:absolute;left:16px;right:12px;bottom:24px;height:82px;border-radius:14px;background:linear-gradient(135deg,rgba(255,255,255,.32),rgba(255,255,255,.05));box-shadow:0 -48px 0 -18px rgba(255,214,129,.35),38px -62px 0 -22px rgba(255,255,255,.25)}
.resort-pool .post-cover{background:radial-gradient(circle at 50% 40%,#fff 0 18%,transparent 19%),linear-gradient(135deg,#ddcfb2 0 36%,#56a5c4 36% 60%,#1a4860 60% 100%)}.hotel-lobby .post-cover{background:linear-gradient(135deg,#f0d7b8 0 28%,#b28a60 28% 46%,#f8f1e8 46% 70%,#615342 70% 100%)}
@media (max-width:374px){.guide-main{padding-left:8px;padding-right:8px}.guide-tabs{gap:20px}.category-strip{gap:5px}.category-card strong{font-size:10px}.post-cover{height:154px}.post-card.tall .post-cover{height:210px}.post-body h2{font-size:12px}.post-meta{font-size:10px}}
@media (min-width:700px){.guide-tabs{top:88px}.guide-main{padding-left:14px;padding-right:14px}.post-cover{height:182px}.post-card.tall .post-cover{height:238px}}

/* v0.1.10 - sticky search repair */
.guide-search-dock{
  position:sticky;
  top:64px;
  z-index:23;
  height:44px;
  margin:0 -1px 8px;
  padding:0 10px;
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(230,220,204,.9);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  box-shadow:0 8px 22px rgba(47,39,28,.07);
  backdrop-filter:blur(16px);
}
.guide-search-icon{
  flex:0 0 auto;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  color:#63736b;
  font-size:21px;
  line-height:1;
  transform:rotate(-12deg);
}
.guide-search-dock input{
  min-width:0;
  width:100%;
  height:40px;
  border:0;
  outline:0;
  color:#20322b;
  background:transparent;
  font-size:13px;
  font-weight:700;
}
.guide-search-dock input::placeholder{color:#9a968d;font-weight:600}
.guide-search-clear{
  flex:0 0 auto;
  width:30px;
  height:30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#768078;
  background:#f4eee5;
  font-size:19px;
  line-height:1;
}
.guide-search-dock:focus-within{
  border-color:rgba(22,135,91,.38);
  box-shadow:0 0 0 3px rgba(22,135,91,.1),0 10px 24px rgba(47,39,28,.08);
}
.guide-search-clear:focus-visible{outline:3px solid rgba(22,135,91,.35);outline-offset:2px}
.guide-empty{
  margin:18px 4px 0;
  padding:18px 14px;
  border:1px dashed #dfd2bf;
  border-radius:16px;
  color:#8a867d;
  background:#fff;
  text-align:center;
  font-size:13px;
  font-weight:700;
}
.guide-tabs{top:116px}
@media (min-width:700px){.guide-search-dock{top:76px}.guide-tabs{top:128px}}
@media (max-width:374px){.guide-search-dock{height:42px;margin-bottom:7px}.guide-search-dock input{font-size:16px}.guide-tabs{top:114px}}


/* v0.1.11 - guide search sticky only */
.guide-topbar{
  position:relative;
  top:auto;
  z-index:2;
  padding-right:18px;
}
.guide-topbar > div{min-width:0}
.guide-search-btn{display:none}
.guide-search-dock{
  top:0;
  z-index:30;
  margin:0 0 8px;
}
.guide-tabs{
  position:relative;
  top:auto;
  z-index:1;
  background:transparent;
  backdrop-filter:none;
}
.category-strip{position:relative;z-index:1}
@media (min-width:700px){.guide-search-dock{top:0}.guide-tabs{top:auto}}
@media (max-width:374px){.guide-tabs{top:auto}}


/* v0.1.12 - guide sticky search lower offset */
.guide-search-dock{
  top:14px;
  margin-top:8px;
  margin-bottom:10px;
}
@media (min-width:700px){.guide-search-dock{top:18px}}
@media (max-width:374px){.guide-search-dock{top:10px;margin-top:6px}}


/* v0.1.28 - replace guide gradients with real raster travel photos */
.post-cover{background-size:cover;background-position:center;background-repeat:no-repeat;}
.seaside .post-cover{background-image:url('../img/guides/guide_seaside_pool.jpg');}
.seaside .post-cover::before{display:none;}
.spa-room .post-cover{background-image:url('../img/guides/guide_spa_room.jpg');}
.spa-room .post-cover::before{display:none;}
.cream-room .post-cover{background-image:url('../img/guides/guide_cream_room.jpg');}
.cream-room .post-cover::before{display:none;}
.water-park .post-cover{background-image:url('../img/guides/guide_korean_spa.jpg');}
.water-park .post-cover::before{display:none;}
.resort-pool .post-cover{background-image:url('../img/guides/guide_spa_pool.jpg');}
.hotel-lobby .post-cover{background-image:url('../img/guides/guide_hotel_view.jpg');}
.post-cover::after{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.16));}

/* v0.5.0 community API additions */
.community-card-link{display:block;color:inherit;text-decoration:none}
.api-guide-card .community-card-media{height:190px;background:#dce6e1}
.api-guide-card .community-card-media img,.api-guide-card .community-card-media video{width:100%;height:100%;object-fit:cover}
.api-guide-placeholder{display:grid;width:100%;height:100%;place-items:center;color:#fff;background:linear-gradient(135deg,#436b5a,#d38d72);font-family:Georgia,serif;font-size:22px}
.api-guide-excerpt{display:-webkit-box;margin:5px 0 9px;overflow:hidden;color:#7d837f;font-size:10px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.api-guide-meta{margin-top:8px}
.guide-community-status[data-kind="error"]{background:#8b3f38}
@media(max-width:540px){.api-guide-card .community-card-media{height:156px}}
.api-guide-card .media-play{left:8px;bottom:7px;right:auto;top:auto;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:rgba(23,31,28,.55);font-size:10px;line-height:1}
