/* NowHitz v2 layer — palette, light/dark, 4:3 cards, visit info, category layouts and motion.
   Loaded after every other stylesheet; it only restyles, so the site still works without it. */

/* ---------- tokens (light) ---------- */
body{
  --v2-paper:#fbfaf7;--v2-ink:#171512;--v2-soft:#8b857d;--v2-hair:#e6e2da;--v2-surface:#fff;--v2-sunken:#f4f2ed;--v2-line2:#f1eee8;
  --v2-text2:#5f5a53;--v2-body:#36322d;--v2-bar:rgba(251,250,247,.92);--v2-signal:#94fc53;--v2-deadline:#c2412b;--v2-accent:#ac442e;
  --v2-warn-bg:#fff7f4;--v2-warn-ic:#fde9e3;--v2-ok-bg:#e5f9d6;--v2-ok-fg:#245a06;--v2-logo:none;
  --v2-spring:cubic-bezier(.34,1.56,.64,1);--v2-ease:cubic-bezier(.2,.8,.2,1);
  /* feed the site's own variables so existing components follow the palette */
  --ink:var(--v2-ink);--muted:var(--v2-soft);--line:var(--v2-hair);--paper:var(--v2-paper);
}
/* ---------- tokens (dark): phone setting, forced choice (PLAY follows the switch too, 2026-10-15) ---------- */
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) body{
  --v2-paper:#121110;--v2-ink:#f2efe9;--v2-soft:#8f897f;--v2-hair:#2b2825;--v2-surface:#1b1a18;--v2-sunken:#262420;--v2-line2:#252320;
  --v2-text2:#bcb6ac;--v2-body:#d8d3ca;--v2-bar:rgba(18,17,16,.9);--v2-deadline:#ff6e55;--v2-accent:#ff8a6b;
  --v2-warn-bg:#2a1913;--v2-warn-ic:#3b2119;--v2-ok-bg:#1d3311;--v2-ok-fg:#b2f285;--v2-logo:invert(1);color-scheme:dark}}
:root[data-theme=dark] body{
  --v2-paper:#121110;--v2-ink:#f2efe9;--v2-soft:#8f897f;--v2-hair:#2b2825;--v2-surface:#1b1a18;--v2-sunken:#262420;--v2-line2:#252320;
  --v2-text2:#bcb6ac;--v2-body:#d8d3ca;--v2-bar:rgba(18,17,16,.9);--v2-deadline:#ff6e55;--v2-accent:#ff8a6b;
  --v2-warn-bg:#2a1913;--v2-warn-ic:#3b2119;--v2-ok-bg:#1d3311;--v2-ok-fg:#b2f285;--v2-logo:invert(1);color-scheme:dark}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){background:#121110}}
:root[data-theme=dark]{background:#121110}

/* ---------- base surfaces ---------- */
html.nhv2 body{background:var(--v2-paper);color:var(--v2-ink);transition:background-color .45s ease,color .45s ease;word-break:keep-all}
html.nhv2 .mobile-header{background:var(--v2-bar)}
html.nhv2 .brand img,html.nhv2 .left .brand img{filter:var(--v2-logo)}
html.nhv2 .desktop-nav a,html.nhv2 .mobile-nav a,html.nhv2 .languages a{color:var(--v2-soft)}
html.nhv2 .desktop-nav a[aria-current],html.nhv2 .mobile-nav a[aria-current],html.nhv2 .languages a[aria-current]{color:var(--v2-ink)}
/* sub-category filters become the same sliding pills as the rest of v2 */
html.nhv2 .filters{background:var(--v2-paper);position:sticky}
html.nhv2 .filters button{position:relative;z-index:1;background:transparent;color:var(--v2-soft);font-weight:600;transition:color .3s ease,transform .45s var(--v2-spring)}
html.nhv2 .filters button[aria-pressed=true]{background:transparent;color:var(--v2-paper)}
html.nhv2 .filters:not(.v2-pilled) button[aria-pressed=true]{background:var(--v2-ink)}
html.nhv2 .filters>.v2-pill{position:absolute;left:0;top:0;border-radius:999px;background:var(--v2-ink);z-index:0;transition:transform .5s cubic-bezier(.32,.72,0,1),width .5s cubic-bezier(.32,.72,0,1)}
html.nhv2 .header-top button,html.nhv2 .left .account-button,html.nhv2 .left .drawer-launch,html.nhv2 .desktop-account{color:var(--v2-ink)}
html.nhv2 .tagline,html.nhv2 .card-title,html.nhv2 .card-title a{color:var(--v2-ink)}
html.nhv2 .summary,html.nhv2 .lead{color:var(--v2-text2)}
html.nhv2 .copy-section p{color:var(--v2-body)}
html.nhv2 .copy-section h3{color:var(--v2-ink)}
html.nhv2 .more{color:var(--v2-accent);background:linear-gradient(90deg,transparent,var(--v2-paper) 15px)}
html.nhv2 .collapse{color:var(--v2-accent)}
html.nhv2 .references,html.nhv2 .original-art,html.nhv2 .station,html.nhv2 .video-link{color:var(--v2-soft)}
html.nhv2 .visit dd{color:var(--v2-body)}
/* desktop drawer sits on the page (no grey box); the mobile overlay keeps a surface */
html.nhv2 .drawer{background:transparent!important;color:var(--v2-ink);box-shadow:none}
html.nhv2 .drawer.show{background:var(--v2-surface)!important}
html.nhv2 .left .now-language-trigger,html.nhv2 .left .account-button,html.nhv2 .left .nh-control-label,html.nhv2 .left .drawer-launch,html.nhv2 .left .v2-theme{color:var(--v2-text2)!important}
html.nhv2 .now-language-menu{background:var(--v2-surface)!important;box-shadow:0 0 0 1px var(--v2-hair),0 12px 30px rgba(0,0,0,.18)!important}
html.nhv2 .now-language-menu a{color:var(--v2-text2)!important;background:transparent!important}
html.nhv2 .now-language-menu a[aria-current],html.nhv2 .now-language-menu a:hover{color:var(--v2-ink)!important;background:var(--v2-sunken)!important}
html.nhv2 .drawer-tabs [aria-pressed=true]{color:var(--v2-ink)}
html.nhv2 .note-area textarea{background:var(--v2-surface);color:var(--v2-ink);border-color:var(--v2-hair)}
html.nhv2 .load button{border-color:var(--v2-ink)}
html.nhv2 .skip:focus{background:var(--v2-surface)}

/* existing modules that hard-code dark text: follow the theme */
html.nhv2 .nh-detail-panel,html.nhv2 .nh-detail-heading,html.nhv2 .nh-place-name,html.nhv2 .nh-nearby-copy strong,html.nhv2 .nh-info-row strong,html.nhv2 .nh-menu-row strong{color:var(--v2-ink)!important}
html.nhv2 .nh-info-row span,html.nhv2 .nh-address,html.nhv2 .nh-transit,html.nhv2 .nh-menu-row span,html.nhv2 .nh-walk,html.nhv2 .nh-exit{color:var(--v2-text2)!important}
html.nhv2 .nh-menu-note,html.nhv2 .nh-menu-note a,html.nhv2 .nh-source-line,html.nhv2 .nh-source-line a,html.nhv2 .references a,html.nhv2 .nh-photo-caption{color:var(--v2-soft)!important}
html.nhv2 .nh-map-button{color:var(--v2-ink)!important;border-color:var(--v2-hair)!important;background:transparent!important}
html.nhv2 .nh-info-thumb,html.nhv2 .nh-nearby-thumb{background:var(--v2-sunken)!important}
html.nhv2 .chart-ordinal{color:var(--v2-ink)!important}

/* ---------- cards: 4:3 photos, softer corners ---------- */
/* the site's card rules use !important, so the 4:3 frame has to as well */
html.nhv2 .card>.media.photo:not(.nh-photo-gallery):not(.nh-urgent-card-cover){aspect-ratio:4/3!important;border-radius:16px!important}
html.nhv2 .card .nh-photo-gallery .nh-photo-image .nh-photo-enlarge{aspect-ratio:4/3!important}
html.nhv2 .card .media.nh-photo-gallery{background:transparent!important}
html.nhv2 .card .nh-photo-gallery .nh-photo-image{border-radius:16px}
html.nhv2 .card .media{border-radius:16px}
/* no grey letterbox: photos always fill the frame; only artwork/book covers keep their whole image, on a clear background */
html.nhv2 .card .media.photo img,html.nhv2 .card .nh-photo-gallery .nh-photo-enlarge[class]>img,html.nhv2 .card .nh-photo-gallery .nh-photo-enlarge.nh-fit-keep[class]>img{object-fit:cover!important;object-position:center!important}
html.nhv2 .card .media:not(.playing):not(.video),html.nhv2 .card .nh-photo-image,html.nhv2 .card .nh-photo-enlarge{background:transparent!important;--media-bg:transparent}
html.nhv2 .card .media.artwork img{object-fit:cover!important}
/* only book covers and posters (portrait artwork) keep their whole image (lettering must stay readable) */
html.nhv2 .card .media.artwork.v2-poster img,html.nhv2 .card[data-subcategory=BOOKS] .media.artwork img,html.nhv2 .card[data-id^=chart-bk] .media img,html.nhv2 .card[data-id^=chart-pf] .media img{object-fit:contain!important}
html.nhv2 .card-title,html.nhv2 .v2-tile b{text-wrap:pretty}

/* ---------- small things that make it feel alive ---------- */
html.nhv2 .actions button,html.nhv2 .account-button,html.nhv2 .drawer-launch,html.nhv2 .v2-pills button,html.nhv2 .v2-theme{transition:transform .45s var(--v2-spring)}
html.nhv2 .actions button:active,html.nhv2 .account-button:active,html.nhv2 .drawer-launch:active,html.nhv2 .v2-theme:active{transform:scale(.9);transition-duration:.1s}
html.nhv2 .card .media:active{transform:scale(.99);transition:transform .1s}
html.nhv2 .card .media{transition:transform .45s var(--v2-spring)}
html.nhv2 .card .media img.v2-wait{opacity:0;filter:blur(10px);transform:scale(1.04)}
html.nhv2 .card .media img{transition:opacity .5s ease,filter .7s ease,transform .9s var(--v2-ease)}
html.nhv2 .card .expanded:not([hidden]){animation:v2-open .55s var(--v2-ease) both}
@keyframes v2-open{from{opacity:0;transform:translateY(-8px)}}
.v2-ring{position:absolute;inset:2px;border-radius:50%;border:2px solid var(--v2-signal);pointer-events:none;opacity:0}
.v2-flyer{position:fixed;left:-7px;top:-7px;width:14px;height:14px;border-radius:50%;background:var(--v2-signal);box-shadow:0 0 0 2px #fff,0 4px 12px rgba(0,0,0,.18);z-index:9999;pointer-events:none}
html.nhv2 .actions [data-action=save]{position:relative}

/* ---------- theme button ---------- */
/* same size and stroke as the language and account icons, sitting right next to them */
.v2-theme{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;color:var(--v2-ink);vertical-align:middle;flex:none}
.v2-theme svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.header-top .v2-theme{margin:0}
html.nhv2 .now-language-trigger,html.nhv2 .account-button[data-nh-auth-icon]{color:var(--v2-ink)}
html.nhv2 .now-language-trigger:hover,html.nhv2 .account-button[data-nh-auth-icon]:hover,.v2-theme:hover{background:var(--v2-sunken)}
.left .v2-theme{margin:14px 0 0 -6px}

/* ---------- mobile category underline that slides between pages ---------- */
html.nhv2 .mobile-nav.v2-has-ind a[aria-current]:after{display:none}
.mobile-nav{position:relative}
.v2-ind{position:absolute;left:0;height:2px;border-radius:1px;background:var(--orange,#ef5b2a);pointer-events:none;transition:transform .55s cubic-bezier(.32,.72,0,1),width .55s cubic-bezier(.32,.72,0,1)}

/* ---------- category hero ---------- */
.v2-hero{margin:6px 0 22px}
.v2-hero h2{margin:0;text-wrap:pretty;font-size:32px;line-height:1.1;font-weight:700;letter-spacing:-.04em;color:var(--v2-ink)}
.v2-hero p{margin:8px 0 0;font-size:14px;color:var(--v2-soft);font-variant-numeric:tabular-nums}
.v2-sub{margin:34px 0 14px;font-size:20px;font-weight:700;letter-spacing:-.03em;color:var(--v2-ink)}

/* ---------- 이번 주말 (ALL) ---------- */
.v2-weekend{margin:0 0 8px}
.v2-pills{position:relative;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:18px 0 0}
.v2-pills::-webkit-scrollbar{display:none}
.v2-pills button{position:relative;z-index:1;flex:none;height:34px;padding:0 14px;border-radius:17px;font-size:13px;font-weight:600;color:var(--v2-soft);white-space:nowrap;transition:color .3s ease}
.v2-pills button[aria-pressed=true]{color:var(--v2-paper)}
.v2-pills .v2-pill{position:absolute;left:0;top:0;height:34px;border-radius:17px;background:var(--v2-ink);z-index:0;transition:transform .5s cubic-bezier(.32,.72,0,1),width .5s cubic-bezier(.32,.72,0,1)}
.v2-rail{display:grid;grid-auto-flow:column;grid-auto-columns:min(72%,260px);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:18px -16px 0;padding:0 16px 4px;scroll-padding-inline:16px}
.v2-rail::-webkit-scrollbar{display:none}
.v2-rail.v2-swap{animation:v2-swap .45s var(--v2-ease)}
@keyframes v2-swap{from{opacity:0;transform:translateX(12px)}}
.v2-tile{scroll-snap-align:start;min-width:0;color:inherit}
.v2-tile .v2-thumb{position:relative;display:block;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:transparent}
.v2-tile .v2-noimg{display:flex;flex-direction:column;justify-content:flex-end;padding:16px;background:var(--v2-sunken)}
.v2-tile .v2-noimg em{font-style:normal;font-size:26px;font-weight:700;letter-spacing:-.03em;color:var(--v2-ink)}
.v2-tile .v2-noimg i{font-style:normal;margin-top:4px;font-size:12px;color:var(--v2-soft)}
.v2-tile .v2-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.v2-tile b{display:block;margin-top:10px;font-size:15px;line-height:1.4;font-weight:700;letter-spacing:-.02em;color:var(--v2-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v2-tile small{display:block;margin-top:5px;font-size:12px;color:var(--v2-soft)}
.v2-railwrap{position:relative}
.v2-arrow{position:absolute;top:calc((min(72vw,260px) * .75) / 2 + 18px);z-index:4;width:40px;height:40px;margin-top:-20px;border-radius:50%;display:none;place-items:center;background:var(--v2-surface);color:var(--v2-ink);box-shadow:0 0 0 1px var(--v2-hair),0 6px 18px rgba(0,0,0,.14);transition:opacity .25s ease,transform .45s var(--v2-spring)}
.v2-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.v2-arrow.prev{left:-12px}.v2-arrow.next{right:-12px}
.v2-arrow:active{transform:scale(.9)}
.v2-arrow[disabled]{opacity:0;pointer-events:none}
@media (hover:hover) and (pointer:fine){.v2-arrow{display:grid}.v2-rail{cursor:grab}.v2-rail.v2-drag{cursor:grabbing;scroll-snap-type:none}.v2-rail.v2-drag a{pointer-events:none}}
.v2-empty{margin:18px 0 0;padding:22px 0;color:var(--v2-soft);font-size:14px}
@media (min-width:900px){.v2-rail{margin-inline:0;padding-inline:0}}

/* ---------- status chip on photos ---------- */
.v2-chip{position:absolute;left:12px;top:12px;z-index:3;height:24px;padding:0 9px;border-radius:12px;background:rgba(251,250,247,.94);color:#171512;font-size:11.5px;line-height:24px;font-weight:700;font-variant-numeric:tabular-nums;pointer-events:none}
.v2-chip.soon{background:var(--v2-deadline);color:#fff}
.v2-chip.soon::before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#fff;vertical-align:1px;animation:v2-breathe 1.8s ease-in-out infinite}
@keyframes v2-breathe{50%{opacity:.25;transform:scale(.7)}}

/* ---------- fact rows on cards ---------- */
.v2-facts{list-style:none;margin:10px 0 12px;padding:0;display:grid;gap:7px}
.v2-facts li{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start;font-size:13.5px;line-height:1.45;color:var(--v2-text2);min-width:0}
.v2-facts li>i{height:19px;display:grid;place-items:center}
.v2-facts svg{width:15px;height:15px;fill:none;stroke:var(--v2-soft);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.v2-facts b{font-weight:600;color:var(--v2-ink)}
.v2-facts .dl{color:var(--v2-deadline)}
.v2-facts .dl svg{stroke:var(--v2-deadline)}
.v2-lbs{display:inline-flex;align-items:center;vertical-align:-4px;margin-right:6px}
.v2-lb{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:10px;color:#fff;font-size:10.5px;font-weight:700;line-height:1;box-shadow:0 0 0 1.5px var(--v2-paper)}
.v2-lb+.v2-lb{margin-left:-4px}
.v2-lb.dark{color:#171512}

/* ---------- 방문 정보 panel ---------- */
.v2-visit{margin:4px 0 26px;border-radius:16px;background:var(--v2-surface);box-shadow:0 0 0 1px var(--v2-hair),0 8px 24px rgba(23,21,18,.04);overflow:hidden}
.v2-visit>header{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:15px 16px 11px}
.v2-visit>header b{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--v2-ink)}
.v2-visit>header small{font-size:11px;color:var(--v2-soft);text-align:right}
.v2-vrow{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 16px;border-top:1px solid var(--v2-line2)}
.v2-vic{width:32px;height:32px;border-radius:10px;background:var(--v2-sunken);display:grid;place-items:center}
.v2-vic svg{width:17px;height:17px;fill:none;stroke:var(--v2-ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.v2-vic.line{background:none}
.v2-vic .v2-lb{min-width:24px;height:24px;font-size:12px;border-radius:12px}
.v2-vrow .m{font-size:14px;line-height:1.35;font-weight:600;letter-spacing:-.01em;color:var(--v2-ink);min-width:0}
.v2-vrow .s{display:block;margin-top:2px;font-size:11.5px;line-height:1.4;font-weight:500;color:var(--v2-soft)}
.v2-vrow .side{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--v2-ink)}
.v2-vrow .side svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.v2-vrow.miss .m{color:var(--v2-soft);font-weight:500}
.v2-vrow.miss .v2-vic{background:none;box-shadow:inset 0 0 0 1px var(--v2-hair)}
.v2-vrow.miss .v2-vic svg{stroke:var(--v2-soft)}
.v2-vrow.warn{background:var(--v2-warn-bg)}
.v2-vrow.warn .m{color:var(--v2-deadline);font-weight:500;font-size:13px}
.v2-vrow.warn .v2-vic{background:var(--v2-warn-ic)}
.v2-vrow.warn .v2-vic svg{stroke:var(--v2-deadline)}
.v2-ptag{display:inline-block;margin-right:6px;padding:2px 6px;border-radius:5px;background:var(--v2-ink);color:var(--v2-paper);font-size:10.5px;font-weight:700;line-height:1.3;vertical-align:1px}
.v2-ptag.ok{background:var(--v2-ok-bg);color:var(--v2-ok-fg)}
.v2-maker dl{margin:0;padding:0 16px 6px}
.v2-kv{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--v2-line2)}
.v2-kv dt{font-size:13px;font-weight:600;color:var(--v2-soft)}
.v2-kv dd{margin:0;font-size:14px;line-height:1.5;font-weight:600;color:var(--v2-ink);min-width:0}
.v2-kv dd small{display:block;margin-top:2px;font-size:12px;font-weight:500;color:var(--v2-soft)}
.v2-maker+.v2-visit{margin-top:-10px}
.v2-maps{display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px 16px;border-top:1px solid var(--v2-line2)}
.v2-maps a,.v2-maps button{height:32px;padding:0 12px;border-radius:16px;border:1px solid var(--v2-hair);font-size:12px;font-weight:600;line-height:30px;color:var(--v2-ink);background:var(--v2-paper);text-decoration:none}
.v2-maps button{margin-left:auto}
html.nhv2 .card.v2-has-visit .visit,html.nhv2 .card.v2-has-visit .station{display:none}

.v2-more{display:none}
/* photos placed between paragraphs of long stories */
html.nhv2 .copy-section+figure.spot-inline,html.nhv2 figure.spot-inline{margin:22px 0 26px}
html.nhv2 figure.spot-inline img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:14px}
html.nhv2 figure.spot-inline figcaption{margin-top:8px;font-size:12.5px;line-height:1.5;color:var(--v2-soft)}
/* official videos between paragraphs (2026-10-15): poster + play; the player loads only on tap */
figure.nh-inline-video{margin:22px 0 26px;max-width:100%}
.nh-inline-video-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:14px;background:#101112}
.nh-inline-video-play{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;padding:0;border:0;background:#101112;cursor:pointer;-webkit-tap-highlight-color:transparent}
.nh-inline-video-play img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--v2-ease,ease),opacity .3s ease}
.nh-inline-video-icon{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px 0 0 -31px;border-radius:50%;display:grid;place-items:center;background:rgba(23,21,18,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 18px rgba(0,0,0,.28);transition:transform .35s var(--v2-spring,ease),background-color .2s ease}
.nh-inline-video-icon svg{width:26px;height:26px;margin-left:3px;fill:#fff}
@media (hover:hover){.nh-inline-video-play:hover .nh-inline-video-icon{transform:scale(1.08);background:rgba(23,21,18,.78)}.nh-inline-video-play:hover img{transform:scale(1.02)}}
.nh-inline-video-play:active .nh-inline-video-icon{transform:scale(.92)}
.nh-inline-video-play:focus-visible{outline:2px solid var(--v2-accent,#ac442e);outline-offset:3px}
.nh-inline-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
figure.nh-inline-video figcaption{margin-top:8px;font-size:12.5px;line-height:1.5;color:var(--v2-soft,#8b857d)}
figure.nh-inline-video figcaption a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media (prefers-reduced-motion:reduce){.nh-inline-video-play img,.nh-inline-video-icon{transition:none}}

/* ---------- gliding photo galleries ---------- */
html.nhv2 a.nh-photo-enlarge{cursor:default;-webkit-touch-callout:none}
/* the old gallery allowed only vertical panning; gliding galleries need the finger's sideways swipe too */
html.nhv2 .card .v2-glide,html.nhv2 .card .v2-glide .nh-photo-slides,html.nhv2 .card .v2-glide .nh-photo-image,html.nhv2 .card .v2-glide .nh-photo-image img,html.nhv2 .card .v2-glide a{touch-action:pan-x pan-y pinch-zoom!important}
html.nhv2 .v2-glide .nh-photo-slides{display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;contain:none!important;-webkit-overflow-scrolling:touch;border-radius:16px}
html.nhv2 .v2-glide .nh-photo-slides::-webkit-scrollbar{display:none}
html.nhv2 .v2-glide .nh-photo-slides.v2-gdrag{scroll-snap-type:none;cursor:grabbing}
html.nhv2 .v2-glide .nh-photo-slide{flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always;display:block!important;visibility:visible!important}
html.nhv2 .v2-glide .nh-photo-slide img{transition:opacity .15s linear;will-change:transform,opacity}
html.nhv2 .v2-glide .nh-photo-arrow,html.nhv2 .v2-glide .nh-photo-dots{display:none!important}
html.nhv2 .v2-glide .nh-photo-image{border-radius:0!important}
.v2-gctl{position:absolute;left:0;right:0;top:0;aspect-ratio:4/3;pointer-events:none;z-index:4}
.v2-garrow{position:absolute;top:50%;width:34px;height:34px;margin-top:-17px;border-radius:50%;display:grid;place-items:center;background:rgba(251,250,247,.9);color:#171512;box-shadow:0 2px 10px rgba(0,0,0,.15);pointer-events:auto;transition:opacity .3s ease,transform .45s var(--v2-spring)}
.v2-garrow svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.v2-garrow.prev{left:10px}.v2-garrow.next{right:10px}
.v2-garrow:active{transform:scale(.88)}
.v2-garrow[disabled]{opacity:0;pointer-events:none}
@media (hover:none){.v2-garrow{display:none}}
.v2-gdots{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:5px;padding:5px 7px;border-radius:999px;background:rgba(23,21,18,.32);backdrop-filter:blur(6px)}
.v2-gdots i{display:block;width:6px;height:6px;border-radius:3px;background:#fff}

/* ---------- DISCOVER: editorial serif titles ---------- */
body[data-category=discover] .card-title{font-family:"Nanum Myeongjo",serif;font-weight:400;font-size:24px;line-height:1.45;letter-spacing:-.02em}
body[data-category=discover] #feed.v2-list>.card{display:flex;flex-direction:column}
body[data-category=discover] #feed.v2-list>.card>.card-title{order:-1;margin:0 0 14px}
body[data-category=discover] #feed.v2-list>.card>.v2-kicker{display:block;margin:14px 0 -2px;font-size:11.5px;font-weight:700;letter-spacing:.08em;color:var(--v2-accent)}
.v2-readtime{order:-2}
.v2-readtime{display:block;margin:0 0 8px;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--v2-soft)}

/* Every category uses the same full card (2026-10-13: compact rows and the SPOT grid were removed). */
@media (prefers-reduced-motion:reduce){
  html.nhv2 *,html.nhv2 *::before{animation:none!important;transition:none!important}
  html.nhv2 .card .media img.v2-wait{opacity:1;filter:none;transform:none}
}
html.nhv2 .left .now-language-menu{top:auto!important;bottom:calc(100% + 8px)!important;transform-origin:bottom left!important}
/* left rail: theme row matches language / log in rows (2026-10-15) */
html.nhv2 .left .v2-theme{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;justify-items:start;gap:12px;width:100%;height:auto;min-height:48px;margin:14px 0 0;padding:0;border-radius:6px;text-align:left;font-size:14px;font-weight:500;line-height:1.4}
html.nhv2 .left .v2-theme svg{justify-self:center;width:28px;height:28px;stroke-width:1.65}
html.nhv2 .left .v2-theme{margin-top:28px}
html.nhv2 .left .v2-theme+.languages.now-language-switch{margin-top:0}
/* NOW logo: gentle lift on hover, press-in on tap (2026-10-15) */
html.nhv2 a.brand{display:inline-block;border-radius:6px;-webkit-tap-highlight-color:transparent}
html.nhv2 a.brand img{transform-origin:left center;transition:transform .5s var(--v2-spring),opacity .3s var(--v2-ease),filter .3s var(--v2-ease)}
@media (hover:hover){html.nhv2 a.brand:hover img{transform:translateY(-1px) scale(1.045) rotate(-1.5deg)}}
html.nhv2 a.brand:active img{transform:scale(.96);opacity:.8;transition-duration:.12s}
html.nhv2 a.brand:focus-visible{outline:2px solid var(--v2-accent);outline-offset:4px}
@media (prefers-reduced-motion:reduce){html.nhv2 a.brand img{transition:none}}
/* slogan signature under the NOW logo */
html.nhv2 .left .tagline[data-fit="logo"]{display:block;white-space:nowrap;margin:8px 0 0;font-weight:600;line-height:1;letter-spacing:0;color:var(--v2-ink)}
html.nhv2 .left .tagline[data-fit="logo"]{margin-top:10px}
html.nhv2 .left .desktop-nav{margin-top:56px}

/* headlines without a natural break: let the browser even out the lines */
html.nhv2 .card-title.v2-split:not(.v2-two){text-wrap:balance}
/* BOOKS cover stage */
html.nhv2 .card .media.v2-cover:not(.playing):not(.video){--media-bg:#fff;width:100%!important;margin:0!important;border-radius:var(--v2-radius,22px);aspect-ratio:4/3!important;height:auto!important;max-height:none!important;background:#fff!important;display:flex!important;align-items:center;justify-content:center;overflow:hidden}
html.nhv2 .card .media.v2-cover:not(.playing):not(.video) img{width:100%!important;height:100%!important;object-fit:contain!important;padding:7% 0;box-sizing:border-box;background:transparent!important;filter:drop-shadow(0 12px 18px rgba(0,0,0,.16))}

/* map tile (2026-10-15): soft Apple-Maps-like tile with park, water and roads; a single ink pin with a lime halo */
html.nhv2 .nh-map-preview{border:0!important;border-radius:14px!important;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 100' preserveAspectRatio='xMidYMid slice'%3E%3Crect width='120' height='100' fill='%23EDEAE2'/%3E%3Cpath d='M-5 72C22 58 44 88 74 74S114 60 130 67V110H-5Z' fill='%23CADDEE'/%3E%3Cpath d='M74-5h50v40c-14 7-34 5-50-8Z' fill='%23D2E4C3'/%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M-5 42L130 24' stroke='%23E0DBD0' stroke-width='9'/%3E%3Cpath d='M28-5L50 110' stroke='%23E0DBD0' stroke-width='8'/%3E%3Cpath d='M-5 58L130 51' stroke='%23E0DBD0' stroke-width='5.5'/%3E%3Cpath d='M-5 42L130 24' stroke='%23FFFFFF' stroke-width='7'/%3E%3Cpath d='M28-5L50 110' stroke='%23FFFFFF' stroke-width='6'/%3E%3Cpath d='M-5 58L130 51' stroke='%23FFFFFF' stroke-width='3.5'/%3E%3Cpath d='M88 30L104 98' stroke='%23FFFFFF' stroke-width='3'/%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat!important;box-shadow:0 0 0 1px var(--v2-hair) inset,0 4px 14px rgba(0,0,0,.06)}
html.nhv2 .nh-map-preview:before,html.nhv2 .nh-map-preview:after,html.nhv2 .nh-map-road{display:none!important}
html.nhv2 .nh-map-pin{width:22px!important;height:22px!important;border-radius:50%!important;rotate:0deg!important;transform:translate(-50%,-50%)!important;background:#171512!important;border:3px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.25)!important;animation:nhPinPulse 2.4s ease-out infinite;transition:transform .35s ease}
html.nhv2 .nh-map-pin .nh-detail-icon{display:none}
html.nhv2 .nh-map-preview:hover .nh-map-pin{transform:translate(-50%,-62%)!important}
@keyframes nhPinPulse{0%{box-shadow:0 0 0 0 rgba(148,252,83,.6),0 4px 10px rgba(0,0,0,.25)}70%{box-shadow:0 0 0 12px rgba(148,252,83,0),0 4px 10px rgba(0,0,0,.25)}100%{box-shadow:0 0 0 0 rgba(148,252,83,0),0 4px 10px rgba(0,0,0,.25)}}
@media (prefers-reduced-motion:reduce){html.nhv2 .nh-map-pin{animation:none}}
@media (prefers-color-scheme:dark){html.nhv2:not([data-theme=light]) .nh-map-preview{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 100' preserveAspectRatio='xMidYMid slice'%3E%3Crect width='120' height='100' fill='%2324231F'/%3E%3Cpath d='M-5 72C22 58 44 88 74 74S114 60 130 67V110H-5Z' fill='%231F2D3A'/%3E%3Cpath d='M74-5h50v40c-14 7-34 5-50-8Z' fill='%23273524'/%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M-5 42L130 24' stroke='%232E2C28' stroke-width='9'/%3E%3Cpath d='M28-5L50 110' stroke='%232E2C28' stroke-width='8'/%3E%3Cpath d='M-5 58L130 51' stroke='%232E2C28' stroke-width='5.5'/%3E%3Cpath d='M-5 42L130 24' stroke='%233D3B35' stroke-width='7'/%3E%3Cpath d='M28-5L50 110' stroke='%233D3B35' stroke-width='6'/%3E%3Cpath d='M-5 58L130 51' stroke='%233D3B35' stroke-width='3.5'/%3E%3Cpath d='M88 30L104 98' stroke='%233D3B35' stroke-width='3'/%3E%3C/g%3E%3C/svg%3E")!important}}
html.nhv2[data-theme=dark] .nh-map-preview{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 100' preserveAspectRatio='xMidYMid slice'%3E%3Crect width='120' height='100' fill='%2324231F'/%3E%3Cpath d='M-5 72C22 58 44 88 74 74S114 60 130 67V110H-5Z' fill='%231F2D3A'/%3E%3Cpath d='M74-5h50v40c-14 7-34 5-50-8Z' fill='%23273524'/%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M-5 42L130 24' stroke='%232E2C28' stroke-width='9'/%3E%3Cpath d='M28-5L50 110' stroke='%232E2C28' stroke-width='8'/%3E%3Cpath d='M-5 58L130 51' stroke='%232E2C28' stroke-width='5.5'/%3E%3Cpath d='M-5 42L130 24' stroke='%233D3B35' stroke-width='7'/%3E%3Cpath d='M28-5L50 110' stroke='%233D3B35' stroke-width='6'/%3E%3Cpath d='M-5 58L130 51' stroke='%233D3B35' stroke-width='3.5'/%3E%3Cpath d='M88 30L104 98' stroke='%233D3B35' stroke-width='3'/%3E%3C/g%3E%3C/svg%3E")!important}

/* visit panel, iOS-style (2026-10-18): tinted gradient squircles with white glyphs; several subway lines stack like avatars instead of spilling over the text */
.v2-vrow{grid-template-columns:minmax(36px,max-content) minmax(0,1fr) auto}
.v2-vic{--c:#8e8e93;--d:#636366;width:34px;height:34px;border-radius:10px;background:linear-gradient(160deg,var(--c),var(--d))}
.v2-vic svg{width:19px;height:19px;stroke:#fff;stroke-width:1.9}
.v2-vic.i-bus{--c:#3d9bff;--d:#0a6ce0}.v2-vic.i-car{--c:#7a78ff;--d:#5149e0}.v2-vic.i-clock{--c:#ffb340;--d:#f08200}.v2-vic.i-won{--c:#45d16b;--d:#1f9d48}
.v2-vic.i-acc{--c:#c07bff;--d:#9a45e0}.v2-vic.i-home{--c:#ff8a65;--d:#ef5a33}.v2-vic.i-phone{--c:#45d16b;--d:#1f9d48}.v2-vic.i-pin{--c:#ff6259;--d:#e0342b}.v2-vic.i-cal{--c:#ff6259;--d:#e0342b}
.v2-vic.line{width:auto;min-width:34px;background:none;box-shadow:none}
.v2-vic.line .v2-lbs{display:flex;align-items:center}
.v2-vic.line .v2-lb{min-width:24px;height:24px;border-radius:12px;font-size:12px;box-shadow:0 0 0 2px var(--v2-surface)}
.v2-vic.line.many .v2-lb+.v2-lb{margin-left:-7px}
.v2-vrow.miss .v2-vic{background:linear-gradient(160deg,var(--c),var(--d));box-shadow:none}.v2-vrow.miss .v2-vic svg{stroke:#fff}
.v2-vrow.warn .v2-vic{--c:#ff6259;--d:#e0342b;background:linear-gradient(160deg,var(--c),var(--d))}.v2-vrow.warn .v2-vic svg{stroke:#fff}
.v2-vrow .side svg{width:15px;height:15px;stroke-width:2}
