
@font-face{font-family:"DM Serif Display";src:url(/assets/app/fonts/dm-serif-display.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Outfit";src:url(/assets/app/fonts/outfit.woff2) format("woff2");font-weight:400 600;font-display:swap}
:root{
  /* page around the phone */
  --bg:#E9E5DE;--fg:#1B1A17;--sub:#6B665E;--chip:#fff;--panel:#fff;
  /* screen palette: Korean autumn, one accent */
  --paper:#F7F4EE;--ink:#1B1A17;--ink2:#4A463F;--ink3:#7A746A;--line:rgba(27,26,23,.12);
  --ginkgo:#F3E39B;   /* 은행잎 — lead card, dock */
  --white:#FFFFFF;    /* crowds */
  --persim:#F6D3C2;   /* 감 — concerts */
  --celadon:#CFE4D6;  /* 청자 — festivals */
  --rice:#EEE2CB;     /* 쌀·누룽지 — local eats */
  --indigo:#C8D1EC;   /* 쪽빛 — stays */
  --plum:#E6D3E4;
  --sand:#E8E2D6;
  --acc:#C2410C;      /* 단청 다홍 — live dot, focus, rank */
  color-scheme:light}
@media (prefers-color-scheme:nh-dark-off){:root:not([data-theme="light"]){--bg:#121110;--fg:#F2EFEA;--sub:#9C978F;--chip:#3A3631;--panel:#1E1C1A;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#121110;--fg:#F2EFEA;--sub:#9C978F;--chip:#3A3631;--panel:#1E1C1A;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg)}

/* ---------- full-screen app (phone = whole screen, desktop = centred phone-width column) ---------- */
.scr{position:fixed;inset:0;max-width:480px;margin:0 auto;overflow:hidden;background:var(--paper);color:var(--ink);font-family:"Outfit",sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
@media (min-width:520px){.scr{box-shadow:0 0 0 1px rgba(27,26,23,.06),0 30px 80px rgba(27,26,23,.12)}}
.scr:lang(ko){font-family:"Outfit","Pretendard","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;word-break:keep-all}
.scr:lang(ja){font-family:"Outfit","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif}
.scroll{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:calc(120px + env(safe-area-inset-bottom,0px));scroll-behavior:smooth}
.scroll::-webkit-scrollbar{display:none}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}

/* type scale: 48 / 30 / 28 / 15 / 13 / 11 */
.d{font-family:"DM Serif Display",serif;font-weight:400;letter-spacing:-.022em}
.scr:lang(ko) .d{font-family:"Pretendard","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;font-weight:800;letter-spacing:-.045em}
/* JA: Mincho headlines, Gothic body */
.scr:lang(ja) .d{font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;font-weight:700;letter-spacing:-.01em;font-feature-settings:"palt"}
.scr:lang(ja){font-feature-settings:"palt"}

/* header: no bar of its own — logo and glass controls float over the content */
.head{position:absolute;top:0;left:0;right:0;z-index:10;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 10px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}
.head>*{pointer-events:auto}
.edge{position:absolute;top:0;left:0;right:0;height:calc(env(safe-area-inset-top,0px) + 70px);z-index:9;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);-webkit-mask:linear-gradient(#000 40%,transparent);mask:linear-gradient(#000 40%,transparent);opacity:0;transition:opacity .3s}
.scr.scrolled .edge{opacity:1}
.edge.b{top:auto;bottom:0;height:120px;-webkit-mask:linear-gradient(transparent,#000 70%);mask:linear-gradient(transparent,#000 70%);opacity:1}
.head img{transition:opacity .25s}
.scr.scrolled .head img{opacity:0}
.head>*{position:relative}
.head img{height:18px;display:block}
.mini{position:absolute;left:16px;transform:translateY(6px);height:42px;padding:0 16px;border-radius:21px;display:flex;align-items:center;font-size:14px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .25s,transform .35s cubic-bezier(.2,.9,.2,1);white-space:nowrap}
.scr.scrolled .mini{opacity:1;transform:none}
.hbtn{display:flex;gap:8px;align-items:center}
.sq{width:42px;height:42px;border-radius:21px;border:0;display:grid;place-items:center;cursor:pointer;color:var(--ink)}
.sq svg{width:18px;height:18px}
.signin{height:42px;padding:0 16px;border-radius:21px;border:0;font:500 13.5px/1 inherit;font-family:inherit;cursor:pointer}

.hero{text-align:center;padding:calc(env(safe-area-inset-top,0px) + 76px) 24px 0}
.date{margin:0 0 12px;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--ink3);font-variant-numeric:tabular-nums}
.date i{width:7px;height:7px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 3px rgba(194,65,12,.15);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 6px rgba(194,65,12,0)}}
.hero h1{margin:0;font-size:48px;line-height:1}
.scr:lang(ko) .hero h1{font-size:38px;line-height:1.15}
.scr:lang(ja) .hero h1{font-size:37px;line-height:1.3}
.hi{margin:14px auto 0;max-width:290px;font-size:15px;line-height:1.5;color:var(--ink2)}
.nabi{display:block;width:140px;height:140px;margin:8px auto -6px;padding:0;border:0;background:none;cursor:pointer;transition:transform .45s cubic-bezier(.3,1.6,.5,1)}
.nabi img{width:100%;height:100%;object-fit:contain}
.nabi.pop{transform:translateY(-6px) scale(1.04)}

.lead{margin:0 12px;padding:24px 20px 20px;border-radius:28px;background:var(--ginkgo)}
.lead h2{margin:0;font-size:30px;line-height:1.04}
.scr:lang(ko) .lead h2{font-size:25px;line-height:1.25}
.scr:lang(ja) .lead h2{font-size:22px;line-height:1.35}
.lead p{margin:12px 0 18px;font-size:15px;line-height:1.5;color:var(--ink2)}
.search{height:52px;border-radius:26px;background:var(--white);display:flex;align-items:center;gap:10px;padding:0 6px 0 18px;cursor:text;box-shadow:0 1px 2px rgba(27,26,23,.06);transition:box-shadow .2s}
.search:focus-within{box-shadow:0 0 0 2px var(--ink)}
.search svg{width:19px;height:19px;flex:none;color:var(--ink2)}
.search input{flex:1;min-width:0;border:0;outline:0;background:none;font:400 15px/1 inherit;font-family:inherit;color:var(--ink)}
.search input::placeholder{color:var(--ink3)}
.search button{flex:none;height:40px;padding:0 16px;border:0;border-radius:20px;background:var(--ink);color:#fff;font:500 14px/1 inherit;font-family:inherit;cursor:pointer}
.sugg{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:10px -20px -10px;padding:4px 20px 14px}
.sugg::-webkit-scrollbar{display:none}
.sugg button{flex:none;height:36px;padding:0 14px;border-radius:18px;border:0;color:var(--ink);font:500 13px/1 inherit;font-family:inherit;cursor:pointer}

.sec{padding:32px 24px 14px;display:flex;justify-content:space-between;align-items:baseline}
.sec h2{margin:0;font-size:30px;line-height:1}
.scr:lang(ko) .sec h2,.scr:lang(ja) .sec h2{font-size:24px}
.sec span{font-size:12.5px;color:var(--ink3);font-variant-numeric:tabular-nums}

/* stacked sheets = an accordion: one open at a time */
.stack{padding:0 12px}
.sheet{position:relative;border-radius:28px 28px 0 0;margin-top:-28px;box-shadow:0 -8px 20px rgba(27,26,23,.05)}
.sheet:first-child{margin-top:0}
.sheet:last-child{border-radius:28px}
.sheet>button{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;width:100%;padding:20px 20px 48px;cursor:pointer}
.sheet:last-child>button{padding-bottom:20px}
.sheet.open>button{padding-bottom:4px}
.sheet h3{margin:0;font-size:28px;line-height:1.05}
.scr:lang(ko) .sheet h3,.scr:lang(ja) .sheet h3{font-size:23px;line-height:1.2}
.k{flex:none;text-align:right;font-size:12px;line-height:1.35;color:var(--ink2)}
.k b{display:block;font:500 22px/1.05 "Outfit",sans-serif;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.9,.2,1)}
.sheet.open .body{grid-template-rows:1fr}
.body>div{overflow:hidden}
.inner{padding:10px 20px 52px;opacity:0;transition:opacity .3s}
.sheet:last-child .inner{padding-bottom:22px}
.sheet.open .inner{opacity:1;transition-delay:.12s}
.li{display:flex;align-items:baseline;gap:12px;padding:12px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.35}
.li .r{flex:none;width:18px;font-weight:600;color:var(--acc);font-variant-numeric:tabular-nums}
.li .x{flex:1;min-width:0}
.li .x small{display:block;font-size:12.5px;color:var(--ink3);margin-top:2px}
.li .v{flex:none;font-size:13px;color:var(--ink2);font-variant-numeric:tabular-nums}
.note{margin:4px 0 0;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.55);font-size:13.5px;line-height:1.45;color:var(--ink)}
.note b{font-weight:600}
.more{display:flex;justify-content:space-between;align-items:center;margin-top:12px;height:46px;padding:0 16px;border-radius:23px;background:var(--ink);color:#fff;font-size:14px;font-weight:500;cursor:pointer}
.ph{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;margin-top:6px}
.tx{margin:14px 0 0;font-size:15px;line-height:1.5;color:var(--ink2)}
.c1{background:var(--white)}.c2{background:var(--persim)}.c3{background:var(--celadon)}.c4{background:var(--rice)}.c5{background:var(--indigo)}.c6{background:var(--plum)}.c7{background:var(--sand)}

/* floating action bar */
/* bottom: tab capsule + separate search orb, both Liquid Glass; capsule shrinks while scrolling down */
.dock{position:absolute;left:14px;right:14px;bottom:calc(env(safe-area-inset-bottom,0px) + 14px);z-index:9;display:flex;align-items:center;gap:10px;pointer-events:none}
.dock>*{pointer-events:auto}
.tabs{flex:1;height:64px;border-radius:32px;display:flex;align-items:center;padding:4px;transition:flex-basis .55s cubic-bezier(.2,.9,.2,1),max-width .55s cubic-bezier(.2,.9,.2,1);max-width:100%}
.tab{all:unset;box-sizing:border-box;position:relative;z-index:3;flex:1;height:56px;border-radius:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10.5px;font-weight:600;letter-spacing:.01em;color:var(--ink);cursor:pointer;transition:opacity .3s,color .3s}
.tab svg{width:23px;height:23px}
.tab img{width:28px;height:28px;object-fit:contain;margin:-3px 0 -2px}
.tab[aria-current="page"]{color:var(--acc)}
.tabs .pill{position:absolute;z-index:2;top:4px;bottom:4px;left:4px;border-radius:28px;background:rgba(255,255,255,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 0 0 .5px rgba(255,255,255,.7),0 2px 8px rgba(27,26,23,.08);transition:transform .5s cubic-bezier(.3,1.35,.5,1),width .5s cubic-bezier(.3,1.35,.5,1)}
.orb{all:unset;box-sizing:border-box;flex:none;width:64px;height:64px;border-radius:32px;display:grid;place-items:center;color:var(--ink);cursor:pointer}
.orb svg{width:24px;height:24px;position:relative;z-index:3}
.scr.mini-bar .tabs{max-width:64px}
.scr.mini-bar .tab:not([aria-current="page"]){opacity:0;pointer-events:none}
.scr.mini-bar .tab[aria-current="page"]{flex:0 0 56px}
.scr.mini-bar .tab span{display:none}
.scr.mini-bar .tabs .pill{opacity:0}


/* Liquid Glass: clear tint + strong blur/saturation, a bright rim, a soft specular sheen, spring on press */
.lg{isolation:isolate;background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,.12));-webkit-backdrop-filter:blur(10px) saturate(200%) brightness(1.08);backdrop-filter:blur(10px) saturate(200%) brightness(1.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 -1px 1px rgba(255,255,255,.35),inset 0 0 0 .5px rgba(255,255,255,.55),0 10px 30px rgba(27,26,23,.14),0 1px 2px rgba(27,26,23,.10)}
.lg::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.15) 40%,rgba(255,255,255,.05) 60%,rgba(255,255,255,.7));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}
.lg::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(120% 60% at 20% 0%,rgba(255,255,255,.55),rgba(255,255,255,0) 55%);mix-blend-mode:soft-light;pointer-events:none;z-index:1}
.lg.dark{background:linear-gradient(180deg,rgba(40,38,34,.78),rgba(20,19,17,.66));color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 0 0 .5px rgba(255,255,255,.18),0 8px 22px rgba(27,26,23,.22)}
.lg.dark::before{background:linear-gradient(135deg,rgba(255,255,255,.45),rgba(255,255,255,0) 45%,rgba(255,255,255,.18))}
.lg.dark::after{background:radial-gradient(120% 70% at 25% 0%,rgba(255,255,255,.22),rgba(255,255,255,0) 60%);mix-blend-mode:screen}
.press{transition:transform .5s cubic-bezier(.3,1.7,.5,1)}
.press:active{transform:scale(.94)}
.lg:not(.dock){position:relative}
.head .mini{position:absolute}
.menu.lg{position:absolute}
.lg>*{position:relative;z-index:2}

/* menu: language + preview of signed-out state */
.menu{position:absolute;z-index:20;top:calc(env(safe-area-inset-top,0px) + 62px);right:16px;width:220px;border-radius:24px;padding:8px;transform-origin:top right;transform:scale(.6);opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.3,1.4,.5,1),opacity .2s}
.menu.on{transform:none;opacity:1;pointer-events:auto}
.menu p{margin:6px 12px 4px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}
.menu button{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;width:100%;height:44px;padding:0 12px;border-radius:14px;font-size:15px;cursor:pointer;color:var(--ink)}
.menu button[aria-pressed="true"]{background:rgba(255,255,255,.6)}
.menu button[aria-pressed="true"]::after{content:"✓";font-size:14px;color:var(--acc)}
.menu hr{border:0;border-top:1px solid var(--line);margin:6px 8px}
.foot{margin:28px 24px 0;font-size:11px;line-height:1.6;color:var(--ink3)}
@media (prefers-reduced-motion:reduce){.scr *{transition-duration:.01s!important;animation:none!important}}

/* ---------- working prototype: pushed screens, search, chat, my page ---------- */
.dock{z-index:30}
.menu{z-index:40}
.screen{position:absolute;inset:0;z-index:20;background:var(--paper);transform:translateX(100%);transition:transform .48s cubic-bezier(.2,.9,.2,1);will-change:transform}
.screen.in{transform:none}
.screen.tabscr{transform:translateY(14px);opacity:0;transition:transform .4s cubic-bezier(.2,.9,.2,1),opacity .25s}
.screen.tabscr.in{transform:none;opacity:1}
.screen.under{transform:translateX(-24%)}
.sbody{position:absolute;inset:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;padding:calc(env(safe-area-inset-top,0px) + 72px) 0 calc(120px + env(safe-area-inset-bottom,0px))}
.sbody::-webkit-scrollbar{display:none}
.shead{position:absolute;top:0;left:0;right:0;z-index:3;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 10px;display:flex;align-items:center;gap:10px;pointer-events:none}
.shead>*{pointer-events:auto}
.shead .ttl{height:42px;padding:0 18px;border-radius:21px;display:flex;align-items:center;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 60px)}
.back{width:42px;height:42px;border-radius:21px;border:0;display:grid;place-items:center;cursor:pointer;color:var(--ink);flex:none}
.back svg{width:20px;height:20px}
.sedge{position:absolute;top:0;left:0;right:0;height:calc(env(safe-area-inset-top,0px) + 70px);z-index:2;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);-webkit-mask:linear-gradient(#000 40%,transparent);mask:linear-gradient(#000 40%,transparent)}
.pg{padding:0 20px}
.pg h1{margin:8px 0 6px;font-size:40px;line-height:1.02}
.scr:lang(ko) .pg h1{font-size:32px;line-height:1.2}
.scr:lang(ja) .pg h1{font-size:30px;line-height:1.3}
.pg .lede{margin:0 0 18px;font-size:15px;line-height:1.5;color:var(--ink2)}
.band{margin:0 12px 12px;border-radius:24px;padding:6px 18px}
.row{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--line);cursor:pointer;color:inherit;text-decoration:none}
.row:first-child{border-top:0}
.row .tx2{flex:1;min-width:0;font-size:15.5px;line-height:1.35}
.row .tx2 small{display:block;margin-top:3px;font-size:12.5px;line-height:1.4;color:var(--ink3)}
.row .rt{flex:none;text-align:right;font-size:13px;color:var(--ink2);font-variant-numeric:tabular-nums}
.row .rk{flex:none;width:22px;font-weight:600;color:var(--acc);font-variant-numeric:tabular-nums}
.chip{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:12px;font-size:12px;font-weight:600;background:#fff}
.chip.l4{background:#C2410C;color:#fff}.chip.l3{background:#F2B48F}.chip.l2{background:#F3E39B}.chip.l1{background:#CFE4D6}
.empty{margin:30px 24px;text-align:center;font-size:15px;line-height:1.55;color:var(--ink2)}
.cta2{display:flex;justify-content:center;align-items:center;gap:8px;height:50px;margin:12px 12px 0;border-radius:25px;background:var(--ink);color:#fff;font-size:15px;font-weight:500;cursor:pointer;text-decoration:none;border:0;width:calc(100% - 24px);font-family:inherit}
.cta2.ghost{background:#fff;color:var(--ink)}
/* detail */
.dt-k{margin:0 20px 6px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--acc)}
.scr:lang(ja) .dt-k,.scr:lang(ko) .dt-k{letter-spacing:.02em}
.facts{margin:16px 12px 0;border-radius:24px;background:var(--white);padding:4px 18px}
.facts div{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.45}
.facts div:first-child{border-top:0}
.facts b{flex:none;width:86px;font-size:13px;font-weight:500;color:var(--ink3);padding-top:1px}
.facts span{flex:1;min-width:0}
.acts{display:flex;gap:8px;margin:12px 12px 0}
.acts>*{flex:1;margin:0!important;width:auto!important}
/* search */
.sbar{margin:0 12px 6px;height:52px;border-radius:26px;background:var(--white);display:flex;align-items:center;gap:10px;padding:0 8px 0 18px;box-shadow:0 0 0 2px var(--ink)}
.sbar svg{width:19px;height:19px;flex:none;color:var(--ink2)}
.sbar input{flex:1;min-width:0;border:0;outline:0;background:none;font:400 16px/1 inherit;font-family:inherit;color:var(--ink)}
.sbar button{flex:none;width:34px;height:34px;border:0;border-radius:17px;background:#fff;cursor:pointer;color:var(--ink);font-size:16px;line-height:1}
.grp{margin:18px 24px 8px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}
.recent{display:flex;flex-wrap:wrap;gap:8px;padding:6px 12px 0}
.recent button{height:36px;padding:0 14px;border-radius:18px;border:0;background:var(--white);font:500 13.5px/1 inherit;font-family:inherit;cursor:pointer;color:var(--ink);box-shadow:0 0 0 1px var(--line)}
mark{background:var(--ginkgo);color:inherit;border-radius:3px;padding:0 1px}
/* explore */
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 12px}
.tile{border-radius:24px;padding:18px 16px 16px;min-height:150px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;border:0;text-align:left;font-family:inherit;color:var(--ink)}
.tile h3{margin:0;font-size:24px;line-height:1.05}
.scr:lang(ko) .tile h3,.scr:lang(ja) .tile h3{font-size:20px;line-height:1.25}
.tile b{font:500 30px/1 "Outfit",sans-serif;letter-spacing:-.02em}
.tile small{display:block;margin-top:4px;font-size:12.5px;color:var(--ink2)}
/* chat */
.chat{position:absolute;inset:0;display:flex;flex-direction:column}
.msgs{flex:1;overflow-y:auto;scrollbar-width:none;padding:calc(env(safe-area-inset-top,0px) + 72px) 14px 12px;display:flex;flex-direction:column;gap:10px}
.msgs::-webkit-scrollbar{display:none}
.bub{max-width:84%;padding:12px 15px;border-radius:22px;font-size:15px;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.bub.me{align-self:flex-end;background:var(--ink);color:#fff;border-bottom-right-radius:8px}
.bub.nb{align-self:flex-start;background:var(--white);border-bottom-left-radius:8px;box-shadow:0 1px 2px rgba(27,26,23,.06)}
.who{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink3);margin:4px 0 -4px 4px}
.who img{width:24px;height:24px;border-radius:50%;background:var(--ginkgo);object-fit:contain;padding:2px}
.bub .links{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.bub .links a{display:block;padding:10px 12px;border-radius:14px;background:var(--paper);font-size:13.5px;line-height:1.35;cursor:pointer;color:var(--ink);text-decoration:none}
.bub .links a small{display:block;color:var(--ink3);font-size:12px;margin-top:2px}
.typing{display:inline-flex;gap:4px}.typing i{width:6px;height:6px;border-radius:50%;background:var(--ink3);animation:blink 1.2s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes blink{50%{opacity:.25}}
.compose{flex:none;padding:8px 12px calc(env(safe-area-inset-bottom,0px) + 96px)}
.qchips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:0 2px 10px}
.qchips::-webkit-scrollbar{display:none}
.qchips button{flex:none;height:36px;padding:0 14px;border-radius:18px;border:0;font:500 13.5px/1 inherit;font-family:inherit;cursor:pointer;color:var(--ink)}
.cbox{height:54px;border-radius:27px;display:flex;align-items:center;gap:8px;padding:0 6px 0 18px;background:var(--white);box-shadow:0 0 0 1px var(--line),0 6px 20px rgba(27,26,23,.08)}
.cbox input{flex:1;min-width:0;border:0;outline:0;background:none;font:400 16px/1 inherit;font-family:inherit;color:var(--ink)}
.cbox button{flex:none;width:42px;height:42px;border-radius:21px;border:0;background:var(--acc);color:#fff;display:grid;place-items:center;cursor:pointer}
.cbox button svg{width:20px;height:20px}
/* me */
.room{margin:0 12px;border-radius:28px;background:var(--ginkgo);padding:22px 20px 18px;text-align:center}
.room button{border:0;background:none;padding:0;cursor:pointer}
.room img{width:170px;height:170px;object-fit:contain;display:block;margin:0 auto}
.room p{margin:6px 0 0;font-size:14px;color:var(--ink2)}
.toast{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 96px);z-index:50;transform:translate(-50%,20px);opacity:0;height:40px;padding:0 18px;border-radius:20px;display:flex;align-items:center;font-size:14px;font-weight:500;pointer-events:none;transition:transform .4s cubic-bezier(.3,1.5,.5,1),opacity .2s;white-space:nowrap}
.toast.on{transform:translate(-50%,0);opacity:1}
/* crowd level as a 4-step bar (owner: bar, not words) */
.cbar{flex:none;display:inline-flex;gap:3px;width:76px;vertical-align:middle}
.cbar i{flex:1;height:8px;border-radius:4px;background:rgba(27,26,23,.1)}
.cbar.l1 i:nth-child(-n+1){background:#6FAE8A}
.cbar.l2 i:nth-child(-n+2){background:#D9B33A}
.cbar.l3 i:nth-child(-n+3){background:#EB8C55}
.cbar.l4 i:nth-child(-n+4){background:#C2410C}
.cbar.big{width:100%;gap:4px}.cbar.big i{height:12px;border-radius:6px}
.legend{display:flex;justify-content:space-between;margin:8px 2px 0;font-size:11px;color:var(--ink3)}

/* segmented control inside a grouped sheet */
.sheet.c1 .bub .links a .cbar{margin-top:6px}

.facts .cbar.big{margin-top:4px}
.facts .legend{margin:6px 0 0}
.acts{margin-bottom:24px}

/* list titles: heavier, Korean/Japanese a step more (owner 10/27) */
.row .tx2,.li .x,.bub .links a{font-weight:500}
.scr:lang(ko) .row .tx2,.scr:lang(ko) .li .x,.scr:lang(ja) .row .tx2,.scr:lang(ja) .li .x,.scr:lang(ko) .bub .links a,.scr:lang(ja) .bub .links a{font-weight:600}
.row .tx2 small,.li .x small,.bub .links a small{font-weight:400}
.row .tx2{font-family:"Outfit","Pretendard","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif}

/* media under the headline: photo, or a video thumbnail that opens the video */
.media{margin:14px 12px 0;position:relative}
.media a{display:block;position:relative;color:#fff}
.media img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:22px;background:#fff}
.media .play{position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:34px;display:grid;place-items:center;background:rgba(20,19,17,.45);-webkit-backdrop-filter:blur(12px) saturate(160%);backdrop-filter:blur(12px) saturate(160%);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 24px rgba(0,0,0,.25)}
.media .play svg{width:30px;height:30px;margin-left:3px}
.media figcaption{margin:6px 6px 0;font-size:12px;color:var(--ink3)}
/* larger type everywhere (owner 10/27: "폰트 사이즈 너무 작아") */
.hi,.lead p,.tx,.pg .lede{font-size:17px}
.date{font-size:14.5px}
.search input,.sbar input,.cbox input{font-size:17px}
.search button{font-size:15.5px}
.sugg button,.qchips button,.recent button{font-size:15px;height:40px;padding:0 16px;border-radius:20px}
.sec span{font-size:14px}
.k{font-size:14px}.k b{font-size:24px}
.li{font-size:17px;padding:14px 0}.li .x small{font-size:14px}.li .v{font-size:15px}
.note{font-size:15.5px;line-height:1.5}
.more{font-size:16px;height:52px;border-radius:26px}
.row .tx2{font-size:17px}.row .tx2 small{font-size:14px}.row .rt{font-size:15px}
.dt-k{font-size:14px}
.facts div{font-size:17px}.facts b{font-size:15px;width:100px}
.legend{font-size:13.5px}
.grp{font-size:13.5px}
.cta2{font-size:16.5px;height:56px;border-radius:28px}
.bub{font-size:17px}.bub .links a{font-size:15.5px}.bub .links a small{font-size:13.5px}
.tab{font-size:12px}
.shead .ttl{font-size:16.5px}
.menu button{font-size:17px}
.foot{font-size:12.5px}
.empty{font-size:17px}
.room p{font-size:16px}

/* tighter facts: label column fits the label, value starts right after */
.facts div{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:baseline}
.facts b{width:auto;min-width:64px;max-width:110px}
.facts span small{display:block;margin-top:3px;font-size:14px;color:var(--ink3)}
/* video sizes: 16:9 for videos, 9:16 for Shorts */
.media.wide img{aspect-ratio:16/9}
.media.tall{display:flex;flex-direction:column;align-items:center}
.media.tall a{width:min(68%,300px)}
.media.tall img{aspect-ratio:9/16;border-radius:24px}
.out{vertical-align:-2px;margin-left:2px}
/* booking blocks (same content as the live story pages) */
.cta2.book{margin-top:2px}
.links2 .row .tx2{font-size:15.5px}
.es-p{margin:12px 0 4px;font-size:15px;line-height:1.5;color:var(--ink2)}
.row.es .tx2 b{font-weight:600}
.row.es .tx2 em{display:block;margin-top:4px;font-style:normal;font-size:15px;font-weight:600;color:var(--acc)}
.ln{display:inline-flex;align-items:center;height:22px;padding:0 8px;margin-right:8px;border-radius:11px;background:var(--ink);color:#fff;font-size:11.5px;font-weight:700;vertical-align:2px}
.ln.t{background:var(--acc)}
.spon{margin:6px 24px 0;font-size:12.5px;color:var(--ink3)}
.calrow{display:flex;gap:8px;padding:0 12px}
.calrow a{flex:1;display:flex;align-items:center;justify-content:center;height:48px;border-radius:24px;background:var(--white);color:var(--ink);font-size:15px;font-weight:500;text-decoration:none;box-shadow:0 0 0 1px var(--line)}

/* Korean-only titles (e.g. locals' Shorts) on EN/JA pages use the Korean headline face */
.scr .pg h1.d.hg{font-family:"Pretendard","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;font-weight:800;letter-spacing:-.04em;font-size:32px;line-height:1.22}

/* place card (Shorts about a restaurant or place) */
.sub-ko{margin:6px 0 0;font-size:15px;color:var(--ink3)}
.qa{display:flex;gap:8px;margin:14px 12px 0}
.qa-b{flex:1;all:unset;box-sizing:border-box;flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 0 10px;border-radius:18px;background:var(--white);color:var(--acc);font-size:13.5px;font-weight:600;cursor:pointer;text-decoration:none;box-shadow:0 0 0 1px var(--line)}
.qa-b svg{width:22px;height:22px}
.qa-b span{color:var(--ink)}
.about{margin:0 24px;font-size:16.5px;line-height:1.55;color:var(--ink2)}
.taxi{margin:16px 12px 0;padding:18px 20px;border-radius:22px;background:var(--ink);color:#fff}
.taxi p{margin:0 0 12px;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.7)}
.taxi p small{display:block;font-weight:400;margin-top:2px}
.taxi b{display:block;font-family:"Pretendard","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;font-size:28px;font-weight:800;letter-spacing:-.03em;line-height:1.2}
.taxi span{display:block;margin-top:6px;font-family:"Pretendard","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;font-size:19px;line-height:1.4}
.sel{user-select:all;-webkit-user-select:all}

/* one value column per page: the label column has a fixed width per language */
.scr{--lw:112px}.scr:lang(ja){--lw:92px}.scr:lang(ko){--lw:76px}
.facts div{grid-template-columns:var(--lw) 1fr}
.facts b{width:auto;min-width:0;max-width:none}
/* taxi card */
.taxi .tx-sub{margin:0 0 14px;font-size:14px;line-height:1.45;color:rgba(255,255,255,.72);font-weight:400}
.tx-full{all:unset;box-sizing:border-box;display:flex;justify-content:center;align-items:center;width:100%;height:46px;margin-top:16px;border-radius:23px;background:#fff;color:var(--ink);font-size:15.5px;font-weight:600;cursor:pointer}
.taxi-full{word-break:keep-all;position:absolute;inset:0;z-index:60;background:#111;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:32px 28px;gap:18px;cursor:pointer;font-family:"Pretendard","Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif}
.taxi-full b{font-size:52px;font-weight:800;line-height:1.15;letter-spacing:-.03em}
.taxi-full span{font-size:30px;line-height:1.35}
.taxi-full small{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 28px);left:0;right:0;text-align:center;font-size:14px;color:rgba(255,255,255,.55)}

/* ---- live-site additions ---- */
html,body{margin:0;height:100%;background:var(--bg);overscroll-behavior:none}
@media (prefers-color-scheme:nh-dark-off){html,body{background:#121110}}
img.gr{filter:saturate(1.08) contrast(1.03)} /* colour lift, no warm (beige) cast - owner 2026-10-30 */
.vid{all:unset;display:block;position:relative;cursor:pointer;width:100%}
.media.tall .vid{width:min(68%,300px)}
.media iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:22px;background:#000}
.media.tall iframe{width:min(68%,300px);aspect-ratio:9/16;border-radius:24px}
.media.tall{align-items:center}
.menu a{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;width:100%;height:44px;padding:0 12px;border-radius:14px;font-size:17px;cursor:pointer;color:var(--ink)}
.menu a[aria-current="true"]{background:rgba(255,255,255,.6)}
.menu a[aria-current="true"]::after{content:"✓";font-size:14px;color:var(--acc)}
.foot a{color:inherit}
.foot nav{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:10px}
.stack .sr li{list-style:none}
@media (prefers-reduced-motion:reduce){.scr *{transition-duration:.01s!important;animation:none!important}}

.segs{display:flex;gap:4px;padding:3px;margin:2px 0 6px;border-radius:16px;background:#fff;overflow-x:auto;scrollbar-width:none}
.segs::-webkit-scrollbar{display:none}
.segs button{all:unset;box-sizing:border-box;flex:1 0 auto;height:38px;padding:0 12px;border-radius:13px;text-align:center;font-size:15px;font-weight:600;color:var(--ink2);cursor:pointer;white-space:nowrap;transition:background .25s,color .25s}
.segs button[aria-selected="true"]{background:var(--white);color:var(--ink);box-shadow:0 1px 3px rgba(27,26,23,.12)}
.sheet.c1 .segs button[aria-selected="true"]{background:var(--paper)}

/* answer cards inside the chat: same rows, facts and buttons as the detail pages */
.bub.wide{max-width:100%;width:100%}
.ac{margin:12px -4px 0;display:flex;flex-direction:column;gap:8px;white-space:normal}
.ac .band,.ac .facts{margin:0}
.ac .cta2{margin:0;width:100%}
.ac .grp{margin:8px 4px 0}
.ac .acts{margin:0}
.ac-stay{display:flex;gap:12px;align-items:center;padding:8px;border-radius:18px;background:var(--paper);color:var(--ink);text-decoration:none}
.ac-stay img{flex:none;width:84px;height:84px;border-radius:14px;object-fit:cover;background:#fff}
.ac-stay span{min-width:0;display:flex;flex-direction:column;gap:3px}
.ac-stay b{font-size:16px;line-height:1.3}
.ac-stay small{font-size:13px;color:var(--ink3);line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ac-stay em{font-style:normal;font-size:14px;font-weight:600;color:var(--acc)}
.ac .spon{margin:2px 4px 0}

/* app buttons: the site's app-icon buttons, in the Apple style of the app home */
.apps{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.appb{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px 0 8px;border-radius:14px;background:var(--white);color:var(--ink);text-decoration:none;font-size:14.5px;font-weight:600;box-shadow:0 0 0 1px var(--line),0 1px 2px rgba(27,26,23,.06);transition:transform .45s cubic-bezier(.3,1.7,.5,1)}
.appb:active{transform:scale(.95)}
.appb img{width:28px;height:28px;border-radius:7px;box-shadow:0 0 0 .5px rgba(0,0,0,.12)}
.appb.pri{background:var(--ink);color:#fff;box-shadow:0 6px 16px rgba(27,26,23,.18)}
.ac-card{padding:10px;border-radius:20px;background:var(--paper)}
.ac-card .ac-stay{padding:0;background:none}
.ac-card .row{padding:4px 2px;border:0}
.ac-list{display:flex;flex-direction:column;gap:8px}

/* quick replies: tap instead of typing */
.qr{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0 4px 32px}
.qr button{all:unset;box-sizing:border-box;height:44px;padding:0 18px;border-radius:22px;font-size:16px;font-weight:600;color:var(--ink);cursor:pointer;background:var(--white);box-shadow:0 0 0 1px var(--line),0 1px 3px rgba(27,26,23,.08)}
.qr button.ghost{background:none;box-shadow:none;color:var(--ink3);font-weight:500}
.qr button:active{transform:scale(.95)}
.apps.maps{display:grid;grid-template-columns:repeat(3,1fr)}
.apps.maps .appb{height:40px;padding:0 8px 0 6px;font-size:13px;gap:6px;justify-content:center}
.apps.maps .appb img{width:24px;height:24px;border-radius:6px}

/* picture solution card: numbered steps */
.steps{list-style:none;margin:0;padding:0;counter-reset:st;display:flex;flex-direction:column;gap:10px}
.steps li{counter-increment:st;position:relative;padding:12px 14px 12px 52px;border-radius:18px;background:var(--paper)}
.steps li::before{content:counter(st);position:absolute;left:12px;top:12px;width:28px;height:28px;border-radius:14px;background:var(--acc);color:#fff;font:600 15px/28px "Outfit",sans-serif;text-align:center}
.steps b{display:block;font-size:16px;line-height:1.3}
.steps span{display:block;margin-top:4px;font-size:14.5px;line-height:1.5;color:var(--ink2)}

/* the concierge's pick, then each stay with its reason */
.pick{padding:16px;border-radius:20px;background:var(--ginkgo)}
.pick-k{margin:0 0 4px;font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--acc)}
.scr:lang(ko) .pick-k,.scr:lang(ja) .pick-k{letter-spacing:0}
.pick b{display:block;font-size:19px;line-height:1.3}
.pick p:not(.pick-k){margin:6px 0 0;font-size:15.5px;line-height:1.55;color:var(--ink)}
.ac-card .pts{display:flex;flex-wrap:wrap;gap:6px;margin:8px 2px 0}
.ac-card .pts span{font-size:12.5px;font-weight:600;line-height:1;padding:6px 9px;border-radius:999px;background:var(--fill,rgba(120,100,80,.09));color:var(--ink2)}
.ac-card .menu{margin:6px 2px 0;font-size:14px;line-height:1.5;color:var(--ink2)}
.ac-card .menu b{font-weight:700;color:var(--ink);margin-right:4px}
.ac-card .addr{margin:6px 2px 0;font-size:13px;line-height:1.45;color:var(--ink3,var(--ink2))}
.ac-card .why{margin:8px 2px 0;font-size:15px;line-height:1.55;color:var(--ink2)}

.food-ph{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:14px;margin-bottom:8px}
.tx2 .ko{font-weight:400;color:var(--ink3);font-size:14px}
.ac .taxi{margin:0}
.ac .taxi span{font-size:20px;margin-top:4px}
.ac .media.tall .vid{width:min(62%,240px);margin:0 auto}

.compose{padding-top:6px;background:linear-gradient(180deg,rgba(247,244,238,0),var(--paper) 30%)}

.tx2 em.price{display:block;margin-top:4px;font-style:normal;font-size:14.5px;font-weight:600;color:var(--acc)}
.tx2 em.res{display:inline-block;margin-top:6px;padding:3px 9px;border-radius:10px;background:#fff;font-style:normal;font-size:12.5px;font-weight:600}

/* narrow phones (HQ review 2026-10-28): the four list switches always fit — a segmented control never scrolls;
   the suggestion rail fades at its right edge so it reads as "more this way", not as cut off */
.segs{overflow:hidden}
.segs button{flex:1 1 0;min-width:0;padding:0 6px;overflow:hidden;text-overflow:ellipsis}
@media (max-width:400px){.segs button{font-size:13.5px}}
.sugg{-webkit-mask:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}
/* a closed sheet still says what is inside (HQ review 2026-10-28: closed sheets read as empty cards) */
.sheet>button .hd{flex:1;min-width:0}
.sheet .sum{display:block;margin-top:8px;font-size:13.5px;line-height:1.35;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sheet.open .sum{display:none}
/* the photo on a home card keeps its credit right under it (CC BY-SA, HQ review 2026-10-28) */
.phf{margin:6px 0 0}.phf .ph{margin-top:0}
.phf figcaption{margin-top:4px;font-size:11px;line-height:1.4;color:var(--ink3)}
/* date finder and festival map under the things-to-do list */
.lk2{margin-top:12px;border-radius:18px;background:rgba(255,255,255,.55);padding:0 14px}
.lk2 .row{border-top:1px solid var(--line)}.lk2 .row:first-child{border-top:0}
.acct button.row{border:0;background:none;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}
/* top-right menu: the icon alone, no glass circle around it (owner 2026-10-28) */
#menuBtn.lg{background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
#menuBtn.lg::before,#menuBtn.lg::after{display:none}
#menuBtn{width:auto;padding:0 6px;font-family:inherit;font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}

/* owner 2026-10-28: colours a little lighter, and the cards in Liquid Glass (same recipe as the tab bar:
   a bright rim, a soft top sheen, a blur of whatever passes under them) */
:root{--ginkgo:#F7EBB9;--persim:#F9E0D4;--celadon:#DDECE2;--rice:#F3EBDB;--indigo:#D9DFF2;--plum:#EDE0EB;--sand:#EFEBE2}
.lead,.stack .sheet{background-image:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,.06) 55%);-webkit-backdrop-filter:blur(14px) saturate(180%);backdrop-filter:blur(14px) saturate(180%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 0 0 .5px rgba(255,255,255,.7),0 -8px 24px rgba(27,26,23,.05),0 10px 30px rgba(27,26,23,.06)}
.lead{position:relative;isolation:isolate}
.lead::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,255,255,.15) 40%,rgba(255,255,255,.05) 60%,rgba(255,255,255,.7));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.band{background-image:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,.05) 60%);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 0 0 .5px rgba(255,255,255,.6)}
/* NOW's reason, as on the current story pages ("NOW가 고른 이유") */
.why2{margin:12px 12px 0;padding:16px 18px;border-radius:22px;background:var(--ginkgo);background-image:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,.06) 60%);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 0 0 .5px rgba(255,255,255,.6)}
.why2 b{display:block;font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--acc);margin-bottom:6px}
.why2 p{margin:0;font-size:15px;line-height:1.55;color:var(--ink)}
/* photo row on detail pages (owner 2026-10-28: "사진도 한 장만 넣지 말고") */
.gal{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 12px;margin-top:6px}
.gal::-webkit-scrollbar{display:none}
.gal figure{flex:0 0 86%;margin:0;scroll-snap-align:center}
.gal img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;background:var(--sand)}
.gal img.whole{object-fit:contain}
.gal figcaption{margin-top:6px;font-size:11px;line-height:1.4;color:var(--ink3)}
.gal-n{margin:4px 16px 0;font-size:11.5px;color:var(--ink3)}
/* booking rows carry the seller's logo; directions block with the map apps */
.row.bk{display:flex;align-items:center;gap:12px}
.row.bk img{width:32px;height:32px;border-radius:8px;flex:none}
.row.bk .bk0{width:32px;height:32px;border-radius:8px;flex:none;display:grid;place-items:center;background:var(--sand);font-style:normal;font-weight:600;font-size:14px;color:var(--ink2)}
.way{padding:14px 16px}
.way-l{margin:0 0 12px;font-size:15px;line-height:1.45;color:var(--ink)}
.way .apps{display:flex;flex-wrap:wrap;gap:8px}

/* one button for the whole app (owner 2026-10-28: "버튼들은 리퀴드 글라스로, 크기와 모양도 동일하게"):
   52px tall, fully round, clear glass with a bright rim and a soft top sheen; a logo sits left at 26px */
.cta2,.cta2.ghost,.cta2.book,.more,.calrow a,.appb,.appb.pri,.apps.maps .appb,.sugg button{
  height:52px;min-height:52px;border-radius:26px;padding:0 20px;gap:10px;border:0;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:15.5px;font-weight:600;letter-spacing:-.01em;color:var(--ink);text-decoration:none;cursor:pointer;
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.42));
  -webkit-backdrop-filter:blur(14px) saturate(180%);backdrop-filter:blur(14px) saturate(180%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,1),inset 0 0 0 .5px rgba(255,255,255,.75),0 0 0 .5px rgba(27,26,23,.08),0 8px 22px rgba(27,26,23,.10),0 1px 2px rgba(27,26,23,.08);
  transition:transform .45s cubic-bezier(.3,1.6,.5,1)}
.cta2:active,.more:active,.calrow a:active,.appb:active,.sugg button:active{transform:scale(.96)}
.more{display:flex;justify-content:space-between}
.cta2,.cta2.book{display:flex}
.appb img,.apps.maps .appb img{width:26px;height:26px;border-radius:7px}
.appb{padding:0 20px 0 13px}
.way .apps,.apps{gap:8px}

/* ================= owner's canvas (2026-10-28): the whole app in one quiet system =================
   White page, cards #F5F5F7, text #1D1D1F, secondary #86868B, hairlines 0.5px #E5E5EA. Red (#D2412E) only for "live".
   Apple system type; numbers (temperature, time, rank, date) thin. Big cards 24, rows 20, buttons capsules; sections 40 apart;
   icons 1.8px ink lines; light › at the end of a row. Press: 96% and a small spring back. Bottom bar and buttons in white glass. */
:root{--bg:#FFFFFF;--paper:#FFFFFF;--ink:#1D1D1F;--ink2:#48484A;--ink3:#86868B;--line:#E5E5EA;--card:#fff;--acc:#D2412E;
  --white:#fff;--ginkgo:#fff;--persim:#fff;--celadon:#fff;--rice:#fff;--indigo:#fff;--plum:#fff;--sand:#fff;
  --sys:-apple-system,BlinkMacSystemFont,"SF Pro Text","Apple SD Gothic Neo","Pretendard","Noto Sans KR","Hiragino Sans","Noto Sans JP","Malgun Gothic",sans-serif;
  --num:-apple-system,"SF Pro Display",BlinkMacSystemFont,"Helvetica Neue",sans-serif;
  --glass:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.66));
  --glass-sh:inset 0 .5px 0 rgba(255,255,255,1),0 8px 30px rgba(22,21,15,.10),0 .5px 1.5px rgba(22,21,15,.08);
  --spring:cubic-bezier(.2,.9,.25,1.2)}
body.nh-app{background:#fff}
.scr,.scr:lang(ko),.scr:lang(ja){font-family:var(--sys);letter-spacing:-.01em;background:#fff;color:var(--ink)}
@media (min-width:520px){.scr{box-shadow:0 0 0 .5px var(--line)}}
.scr .d,.scr:lang(ko) .d,.scr:lang(ja) .d{font-family:var(--sys);font-weight:700;letter-spacing:-.03em;font-feature-settings:normal}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.scr a,.scr button,.intro button{-webkit-tap-highlight-color:transparent;transition:transform .32s var(--spring),opacity .2s ease,background-color .2s ease}
.scr a:active,.scr button:active,.intro button:active{transform:scale(.96);opacity:.82;transition-duration:.08s}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

/* header: the logo and the language word, on white */
.scr .head{background:#fff;padding:calc(env(safe-area-inset-top,0px) + 14px) 16px 6px 20px;transition:box-shadow .2s}
.scr.scrolled .head{box-shadow:0 .5px 0 var(--line)}
.scr.scrolled .head img{opacity:1}
.scr .head img{height:22px;width:auto}
#menuBtn{all:unset;box-sizing:border-box;height:40px;padding:0 4px;display:flex;align-items:center;font:600 14px/1 var(--sys);color:var(--ink);cursor:pointer}
.menu{background:#fff;box-shadow:0 0 0 .5px var(--line),0 12px 40px rgba(22,21,15,.12)}
.menu a{display:flex;align-items:center;height:44px;padding:0 12px;border-radius:14px;font-size:15px;color:var(--ink);text-decoration:none}
.menu a[aria-current]{background:var(--card);font-weight:600}
.scroll{padding-top:calc(env(safe-area-inset-top,0px) + 62px);padding-bottom:calc(170px + env(safe-area-inset-bottom,0px))}

/* live issues: one line, rolling */
.tick{margin:8px 16px 0;height:48px;padding:0 16px;background:var(--card);border-radius:16px;display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;overflow:hidden}
.live{flex:none;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--acc);margin:0}
.live i{width:6px;height:6px;border-radius:50%;background:var(--acc)}
.roll{flex:1;min-width:0;height:26px;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent)}
.rl{position:absolute;left:0;right:0;top:0;display:flex;flex-direction:column;will-change:transform}
.tick .ri{height:26px;display:flex;align-items:center;gap:10px;white-space:nowrap}
.ri b{width:18px;flex:none;font:300 16px/1 var(--num);font-variant-numeric:tabular-nums}
.ri span{font-size:14.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis}
.tick>svg{flex:none;width:14px;height:14px;color:var(--ink3)}

/* shortcuts (bento) */
.bento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:116px 116px 64px;gap:8px;padding:16px 16px 0}
.bento a{border-radius:24px;background:var(--card);color:var(--ink);text-decoration:none;padding:16px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.bento svg{width:22px;height:22px;flex:none}
.bento b{font-size:15px;font-weight:600;display:block}
.bento small{display:block;margin-top:2px;font-size:12px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bento .b1{grid-row:span 2;position:relative;overflow:hidden;justify-content:flex-end;color:#fff;background:#1D1D1F}
.b1 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.b1 .sh{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.55))}
.b1 b{position:relative;font-size:19px;font-weight:700;line-height:1.28;letter-spacing:-.02em}
.b1 small{position:relative;color:rgba(255,255,255,.85);margin-top:4px}
.bento .b3{grid-column:span 2;border-radius:20px;padding:0 16px;flex-direction:row;align-items:center;gap:12px}
.b3 b{flex:1}.b3 small{margin:0}.b3 i{display:flex;color:#C7C7CC}.b3 i svg{width:14px;height:14px}

/* sections */
.scroll>.sec{padding:40px 0 0;display:flex;flex-direction:column;gap:14px;align-items:stretch}
.scroll>.sec.pad{padding:40px 16px 0}
.sh2{display:flex;justify-content:space-between;align-items:baseline;padding:0 20px}
.sec.pad .sh2{padding:0 4px}
.sh2 h2{margin:0;font-size:24px;font-weight:700;letter-spacing:-.03em;line-height:1.2}
.sh2 a{flex:none;font-size:14px;font-weight:500;color:var(--ink3);text-decoration:none}
.wtabs{display:flex;gap:6px;padding:0 16px;overflow-x:auto;scrollbar-width:none}
.wtabs::-webkit-scrollbar{display:none}
.wtabs button{all:unset;box-sizing:border-box;flex:none;height:36px;padding:0 16px;border-radius:999px;background:var(--card);color:var(--ink);font:600 14px/36px var(--sys);cursor:pointer}
.wtabs button[aria-selected="true"]{background:var(--ink);color:#fff}
.wpane{display:flex;flex-direction:column;gap:6px}
.hs{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 16px 4px;scroll-padding:16px;scrollbar-width:none}
.hs::-webkit-scrollbar{display:none}
.ecard{flex:none;width:270px;max-width:78vw;scroll-snap-align:start;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;gap:10px}
.ecard .ph{position:relative;display:block;border-radius:24px;overflow:hidden;margin:0;aspect-ratio:auto;background:var(--card)}
.ecard .ph img{display:block;width:100%;height:300px;object-fit:cover}
.ecard em{position:absolute;left:12px;top:12px;font-style:normal;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;padding:6px 11px;font-size:12px;font-weight:600;color:var(--ink)}
.ecard .tx,.fcard .tx{margin:0;display:flex;flex-direction:column;gap:3px;padding:0 4px;color:var(--ink)}
.ecard small,.fcard small{font-size:13px;color:var(--ink3);line-height:1.45}
.ecard b{font-size:17px;font-weight:600;letter-spacing:-.02em;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rows{margin:0 16px;display:flex;flex-direction:column}
.erow{display:flex;gap:14px;align-items:center;padding:12px 4px;color:var(--ink);text-decoration:none;border-bottom:.5px solid var(--line)}
.erow:last-child{border-bottom:0}
.db{width:46px;flex:none;display:flex;flex-direction:column;align-items:center}
.db small{font-size:11px;font-weight:500;color:var(--ink3)}
.db b{font:300 24px/1.1 var(--num)}
.erow .tx{flex:1;min-width:0;margin:0;display:flex;flex-direction:column;gap:2px}
.erow .tx b{font-size:15px;font-weight:600;line-height:1.35;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.erow .tx small{font-size:13px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.erow>svg,.nlist a::after{flex:none;width:14px;height:14px;color:#C7C7CC}
.fcard{flex:none;width:230px;max-width:64vw;scroll-snap-align:start;color:var(--ink);text-decoration:none;display:flex;flex-direction:column;gap:10px}
.fcard img{width:100%;height:172px;object-fit:cover;border-radius:22px;display:block;background:var(--card)}
.fcard b{font-size:16px;font-weight:600}

/* today's mission */
.mcard{background:#1D1D1F;color:#fff;border-radius:24px;padding:20px;display:flex;flex-direction:column;gap:16px}
.mt{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.mt span{display:flex;flex-direction:column;gap:6px}
.mt b{font-size:19px;font-weight:700;line-height:1.32;letter-spacing:-.02em}
.mt small{font-size:13px;color:#A1A1A6}
.mt img{width:56px;height:56px;object-fit:contain;filter:invert(1);flex:none}
.mg{margin:0;font-size:13px;color:#D1D1D6}
.mup{height:50px;border-radius:999px;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-size:15px;font-weight:600}
.mup svg{width:18px;height:18px}

/* lists of stories */
.nlist{display:flex;flex-direction:column}
.nlist a{display:flex;gap:14px;align-items:center;padding:14px 4px;color:var(--ink);text-decoration:none;border-bottom:.5px solid var(--line)}
.nlist a:last-child{border-bottom:0}
.nlist b{flex:1;min-width:0;font-size:15px;font-weight:600;line-height:1.4}
.nd{flex:none;width:40px;font:300 15px/1.2 var(--num);color:var(--ink3);font-variant-numeric:tabular-nums}
.rk{flex:none;width:22px;font:200 22px/1 var(--num);color:var(--ink)}
.scroll .foot{margin:40px 20px 0}
.scroll .foot nav{display:flex;flex-wrap:wrap;gap:4px 12px}
.scroll .foot a{color:var(--ink3);text-decoration:none}

/* bottom: one slim menu bar in white glass (search moved to the header); it slips down while scrolling down, back on scrolling up */
.bbar{position:absolute;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 14px);z-index:30;display:flex;flex-direction:column;gap:8px}
.bsearch,.bnav{background:var(--glass);-webkit-backdrop-filter:blur(20px) saturate(1.8);backdrop-filter:blur(20px) saturate(1.8);border:.5px solid rgba(255,255,255,.9);box-shadow:var(--glass-sh)}
.bsearch{height:52px;border-radius:999px;display:flex;align-items:center;gap:10px;padding:0 18px;margin:0}
.bsearch svg{width:18px;height:18px;flex:none;color:var(--ink)}
.bsearch input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:400 16px var(--sys);color:var(--ink)}
.bsearch input::placeholder{color:var(--ink3)}
.bnav{height:54px;border-radius:999px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:6px;box-sizing:border-box}
.bnav .tab{all:unset;box-sizing:border-box;height:auto;border-radius:999px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;color:var(--ink3);cursor:pointer;font:600 12.5px/1 var(--sys)}
.bnav .tab span{display:none}
.bnav .tab[aria-current="page"]{background:var(--ink);color:#fff}
.bnav .tab[aria-current="page"] span{display:inline}
.bnav .tab svg{width:21px;height:21px}
.bnav .tab[aria-current="page"] svg{width:18px;height:18px}
.bnav .plus{width:40px;height:40px;border-radius:50%;background:var(--card);display:flex;align-items:center;justify-content:center;color:var(--ink)}
.bnav .plus svg{width:20px;height:20px}
.bnav .tab[aria-current="page"] .plus{width:auto;height:auto;background:none;color:#fff}
.bnav .tab img{width:32px;height:32px;object-fit:contain;margin:0}
.bnav .tab[aria-current="page"] img{width:24px;height:24px;filter:invert(1)}
.toast{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 140px);transform:translate(-50%,10px);z-index:50;background:#1D1D1F;color:#fff;border-radius:999px;padding:10px 16px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s,transform .3s var(--spring)}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* pushed screens: same white page, cards #F5F5F7, flat (no tinted glass) */
.screen{background:#fff}
.sbody{padding-bottom:calc(170px + env(safe-area-inset-bottom,0px))}
.shead .ttl{background:#fff;box-shadow:0 0 0 .5px var(--line)}
.back{background:var(--card)}
.shead .lg,.back.lg{background:var(--glass);box-shadow:var(--glass-sh);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.lg::before,.lg::after{display:none}
.band,.lead,.stack .sheet,.why2,.room,.pick,.facts,.lk2{background:var(--card);background-image:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.band{border-radius:24px}
.row{border-top:.5px solid var(--line)}
.row .rk,.li .r,.why2 b,.dt-k{color:var(--ink)}
.row .rk{font:200 20px/1 var(--num)}
.pg h1,.scr:lang(ko) .pg h1,.scr:lang(ja) .pg h1{font-size:30px;line-height:1.25;letter-spacing:-.03em}
.cta2,.cta2.ghost,.cta2.book,.more,.calrow a,.appb,.appb.pri,.apps.maps .appb,.sugg button{background:var(--glass);box-shadow:var(--glass-sh),0 0 0 .5px rgba(22,21,15,.06);border-radius:999px;transition:transform .32s var(--spring)}
.cta2.pri,.appb.pri{background:var(--ink);color:#fff}
.segs button[aria-selected="true"]{background:#fff}
.chip.l4{background:var(--acc)}.chip.l3,.chip.l2,.chip.l1{background:var(--card)}
.bub.nb{background:var(--card);box-shadow:none}
mark{background:#fff}

/* missions */
.msn{margin:0 16px 12px;padding:20px;border-radius:24px;background:var(--card)}
.msn .mk{margin:0;font-size:12.5px;font-weight:600;color:var(--ink3)}
.msn h2{margin:6px 0 4px;font-size:20px;line-height:1.35;letter-spacing:-.02em}
.msn .ms{margin:0;font-size:14px;color:var(--ink3)}
.msn .mh{margin:16px 0 6px;font-size:14px;font-weight:600}
.msn ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:15px;line-height:1.6}
.msn .mg{margin:14px 0 0;font-size:13.5px;color:var(--ink2)}
.msn .mup{margin:14px 0 0;width:100%}

/* ---------- intro (mobile, once per visit) ---------- */
.intro{display:none}
html.nh-intro{overflow:hidden}
html.nh-intro .intro{display:block;position:fixed;inset:0;z-index:100;background:#fff;color:var(--ink);font-family:var(--sys);letter-spacing:-.01em;overflow:hidden;transition:opacity .45s ease,transform .45s cubic-bezier(.22,1,.36,1)}
.intro.out{opacity:0;transform:scale(1.02);pointer-events:none}
.intro video{position:absolute;left:-6%;width:112%;top:36%;height:auto;aspect-ratio:16/9;object-fit:cover;mix-blend-mode:multiply;pointer-events:none}
.ihead{position:absolute;left:0;right:0;top:0;padding:calc(env(safe-area-inset-top,0px) + 18px) 22px 0}
.ihead img{height:22px;width:auto;display:block}
.itop{position:absolute;left:22px;right:22px;top:calc(env(safe-area-inset-top,0px) + 112px);display:flex;flex-direction:column;gap:6px}
.idate{margin:0;font-size:13px;font-weight:700;color:var(--ink3)}
.igreet{margin:0;font-size:24px;line-height:1.4;font-weight:700;letter-spacing:-.03em;white-space:pre-line}
.itemp{margin:2px 0 0;display:flex;align-items:baseline;gap:10px;min-height:50px}
#itemp{font:200 50px/1 var(--num);letter-spacing:-.03em}
#iwx{font-size:14px;font-weight:700}
.iiss{position:absolute;left:22px;right:22px;bottom:calc(env(safe-area-inset-bottom,0px) + 112px);display:flex;flex-direction:column;gap:8px}
.iroll{height:90px;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent)}
.iroll .ri{height:30px;display:flex;align-items:center;gap:12px;white-space:nowrap}
.iroll .ri span{font-size:14.5px}
.ienter{all:unset;box-sizing:border-box;position:absolute;left:22px;right:22px;bottom:calc(env(safe-area-inset-bottom,0px) + 26px);height:58px;border-radius:999px;background:var(--glass);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);border:1px solid rgba(255,255,255,.9);box-shadow:inset 0 1px 0 #fff,inset 0 -1px 0 rgba(22,21,15,.06),0 10px 30px rgba(22,21,15,.12),0 1px 3px rgba(22,21,15,.08);display:flex;align-items:center;justify-content:center;gap:8px;font:700 16px/1 var(--sys);color:var(--ink);cursor:pointer}
.ienter svg{width:18px;height:18px}
@media (max-height:700px){.itop{top:calc(env(safe-area-inset-top,0px) + 72px)}.intro video{top:30%}.iiss{bottom:calc(env(safe-area-inset-bottom,0px) + 96px)}.iroll{height:60px}}
@media (prefers-reduced-motion:reduce){.intro video{display:none}}
.scr [hidden],.intro [hidden]{display:none!important}
.scroll .sec span{font-size:inherit;color:inherit}
.nlist .nd{width:40px;font:300 15px/1.2 var(--num);color:var(--ink3)}
.nlist .rk{width:22px;font:200 22px/1 var(--num);color:var(--ink)}
.ecard .tx small,.fcard .tx small{color:var(--ink3)}
/* intro: language word top right (same as the home header), short live lines that end in … when long */
.ihead{display:flex;justify-content:space-between;align-items:center;padding-right:16px}
#ilang{all:unset;box-sizing:border-box;height:44px;padding:0 6px;display:flex;align-items:center;font:600 14px/1 var(--sys);color:var(--ink);cursor:pointer}
.imenu{position:absolute;z-index:3;right:16px;top:calc(env(safe-area-inset-top,0px) + 64px);width:200px;padding:8px;border-radius:20px;background:#fff;box-shadow:0 0 0 .5px var(--line),0 12px 40px rgba(22,21,15,.12)}
.imenu a{display:flex;align-items:center;height:44px;padding:0 12px;border-radius:14px;font-size:15px;color:var(--ink);text-decoration:none}
.imenu a[aria-current]{background:var(--card);font-weight:600}
.iroll .ri,.tick .ri{min-width:0}
.iroll .ri span,.tick .ri span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Explore (canvas): tiles 84px on #F5F5F7, rows with a light › */
.xs{padding:16px 16px 0;display:flex;flex-direction:column;gap:8px}
.xs+.xs{padding-top:32px}
.xk{margin:0 4px 4px;font-size:13px;font-weight:600;color:var(--ink3)}
.xg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.xt{height:84px;border-radius:20px;background:var(--card);color:var(--ink);text-decoration:none;padding:14px 16px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.xt b{font-size:15px;font-weight:600;line-height:1.3}
.xt small{font-size:12.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xl{display:flex;flex-direction:column}
.xr{display:flex;align-items:center;gap:14px;padding:14px 4px;color:var(--ink);text-decoration:none;border-bottom:.5px solid var(--line)}
.xr:last-child{border-bottom:0}
.xr span{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.xr b{font-size:16px;font-weight:600}
.xr small{font-size:13px;color:var(--ink3)}
.chev{flex:none;width:14px;height:14px;color:#C7C7CC}

/* Place (canvas): photos edge to edge with a 1 / N counter, the name block, good-for chips, four buttons, facts in rows */
.sbody.pl{padding-top:0}
.plg{position:relative;background:var(--card)}
.pls{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.pls::-webkit-scrollbar{display:none}
.pls img{flex:none;width:100%;height:330px;object-fit:cover;scroll-snap-align:start;display:block}
.pls img.whole{object-fit:contain;background:var(--card)}
.pln{position:absolute;right:14px;bottom:14px;background:rgba(0,0,0,.5);color:#fff;border-radius:999px;padding:4px 10px;font:400 12px/1.4 var(--num)}
.plg.none{height:calc(env(safe-area-inset-top,0px) + 72px);background:#fff}
.plg.none p{display:none}
.plh{padding:22px 20px 0;display:flex;flex-direction:column;gap:8px}
.pkk{margin:0;font-size:13px;color:var(--ink3)}
.plh h1{margin:0;font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1.25}
.plo{margin:0;font-size:14px;color:var(--ink3)}
.plw{margin:8px 0 0;font-size:16px;line-height:1.7}
.plc{display:flex;gap:6px;flex-wrap:wrap;padding-top:4px}
.plc span{height:30px;padding:0 12px;border-radius:999px;background:var(--card);display:flex;align-items:center;font-size:13px;font-weight:500}
.pl4{margin:22px 16px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pl4 a{height:66px;border-radius:18px;background:var(--card);color:var(--ink);text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:600}
.pl4 a.on{background:var(--ink);color:#fff}
.pl4 svg{width:19px;height:19px}
.plf{margin:28px 16px 0;display:flex;flex-direction:column}
.plf h2,.plnear h2{margin:0 4px 6px;font-size:20px;font-weight:700;letter-spacing:-.02em}
.pr{display:flex;gap:14px;padding:13px 4px;border-bottom:.5px solid var(--line)}
.pr:last-child{border-bottom:0}
.pk2{width:64px;flex:none;font-size:14px;color:var(--ink3)}
.pv{display:flex;flex-direction:column;gap:2px;min-width:0}
.pv b{font-size:15px;font-weight:600;line-height:1.45}
.pv small{font-size:12.5px;color:var(--ink3);line-height:1.45}
.pltip{margin:18px 16px 0;background:var(--card);border-radius:20px;padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.pltip b{font-size:14px}
.pltip p{margin:0;font-size:14px;line-height:1.65;color:#3A3A3C}
.plbk{margin-top:18px}
#way{margin-top:10px}
.plnear{margin:28px 0 0;display:flex;flex-direction:column;gap:10px}
.plnear h2{margin:0 20px}
.plnear .fcard{width:200px}.plnear .fcard img{height:140px;border-radius:20px}
.plsrc{margin:28px 20px 0;display:flex;flex-direction:column;gap:6px}
.plsrc p{margin:0;font-size:12.5px;line-height:1.6;color:var(--ink3)}
.plask{position:absolute;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 150px);z-index:5;display:none}
.plask a{height:56px;border-radius:999px;background:rgba(29,29,31,.92);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-size:16px;font-weight:600;box-shadow:0 8px 30px rgba(0,0,0,.18)}
.plask img{width:26px;height:26px;object-fit:contain;filter:invert(1)}
/* eats list: a photo thumb when there is a checked photo, else a text card with the reason's first line */
.frow{text-decoration:none;color:inherit}
.fth{width:56px;height:56px;border-radius:14px;object-fit:cover;flex:none;background:var(--card)}
.frow .fw{color:var(--ink2)!important;margin-top:4px!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* place pages (/go/eat/<slug>/): the app's Place layout on its own page */
body.nhs-place{margin:0;background:#fff;color:var(--ink);font-family:var(--sys)}
.plpage{max-width:640px;margin:0 auto;padding-bottom:40px}
.plpage .plg.none{height:calc(env(safe-area-inset-top,0px) + 72px)}
.plpage .plsrc a{color:var(--ink);font-weight:600;text-decoration:none}
body.nhs-place footer.nh-foot{max-width:640px;margin:24px auto 0;padding:0 20px;font-size:12px;color:var(--ink3)}
body.nhs-place footer.nh-foot a{color:var(--ink3)}
/* KOGL Type 3 (no changes allowed) photos are shown whole on a light ground, never cropped (HQ review 2026-10-28) */
.fcard img.whole,.fth.whole,.pls img.whole,img.food-ph{object-fit:contain;background:var(--card)}
.ecard .pcr{position:absolute;left:12px;right:12px;bottom:10px;font-style:normal;font-size:10.5px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* one bar, nothing over the content (owner 2026-10-28) */
.bbar{transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .2s}
.bbar.away{transform:translateY(calc(100% + 24px + env(safe-area-inset-bottom,0px)));opacity:0;pointer-events:none}
.head .hr{display:flex;align-items:center;gap:2px}
#hSearch{all:unset;box-sizing:border-box;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;border-radius:50%}
#hSearch svg{width:21px;height:21px}
#hSearch:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.scroll{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
/* intro, simple (owner 2026-10-28: inside the browser's own top and bottom bars the full-screen layout looked cramped):
   one column that fits the visible height — words, the cat (smaller, lower), the button; no rolling issue lines */
html.nh-intro .intro{display:flex;flex-direction:column;height:100dvh;bottom:auto}
.intro .ihead,.intro .itop,.intro .ienter,.intro video{position:static}
.intro .itop{margin:28px 22px 0}
.intro .iiss{display:none}
.intro video{display:block;flex:1;min-height:0;width:78%;height:auto;max-height:42dvh;margin:auto auto 8px;aspect-ratio:auto;object-fit:contain;object-position:center bottom}
.intro .ienter{flex:none;width:auto;margin:0 22px calc(env(safe-area-inset-bottom,0px) + 18px)}
@media (max-height:700px){.intro .itop{margin-top:12px}.intro video{max-height:34dvh}}
@media (prefers-reduced-motion:reduce){.intro video{display:none}}
.intro .ihead{order:0}.intro .itop{order:1}.intro video{order:2}.intro .iiss{order:3}.intro .ienter{order:4}.intro .imenu{position:absolute}
/* home food rail: photos that can't be cropped keep their own shape (no grey frame) */

/* (2026-10-28 'photos at their own shape' rule removed 2026-10-30: owner wants one frame per card kind, filled) */
.pln{bottom:auto;top:calc(env(safe-area-inset-top,0px) + 16px)}
/* no blur bands over the top and bottom (owner 2026-10-28): they fogged the top of every photo and the last lines of text */
.edge,.edge.b,.sedge{display:none!important}
/* card photo credit: small grey line under the picture, right-aligned (CC BY / KOGL attribution) */
.ecard .pcr,.fcard .pcr{position:static;display:block;margin:-4px 4px 0;text-align:right;font-style:normal;font-size:10.5px;line-height:1.3;color:var(--ink3);text-shadow:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* colour lift on photos whose licence allows edits (CC / KOGL Type 1; never press or KOGL Type 3): a little warmer and livelier */
img.lift{filter:saturate(1.18) contrast(1.05) brightness(1.02)}
.b1 .bcr{position:absolute;top:10px;right:12px;left:12px;text-align:right;font-style:normal;font-size:9.5px;color:rgba(255,255,255,.85);text-shadow:0 1px 2px rgba(0,0,0,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:1}
/* 이번 주 tabs: a '다가오는 것' label before later items; a lone card spans the width */
.wpane .wsoon,.wpane .wnone{margin:18px 20px 4px;font-size:13px;font-weight:600;color:var(--ink3)}
.wpane .wnone{margin-top:6px}
.hs.one .ecard{width:auto;max-width:none;flex:1 1 auto}
/* intro as the first version (owner 2026-10-28 "이 비율과 위치가 최초 버전과 비교했을때"): words at the top as before; the cat
   smaller than the first version (about 70% of the width) and lower, standing just above the button */
.intro .itop{margin-top:28px}
.intro video{flex:0 0 auto;width:72%;max-height:36dvh;margin:auto auto 20px}

/* ---------- home, canvas A2 (owner 2026-10-29): system face, titles 600, date numbers 200, one ink, round cards ---------- */
.scr{--a2:#0E0E0F;--a2g:#fff;--a2l:#E3E3E6;--a2m:#8A8A8F}
.scroll .sh2 h2{font-size:28px;font-weight:600;letter-spacing:-.03em;line-height:1.05}
.sh2 h2 sup{font:500 13px/1 var(--num);color:#A1A1A6;margin-left:4px;vertical-align:14px;letter-spacing:0}
.sh2 a{font-size:13.5px;font-weight:600;color:#6E6E73}
.scroll>.sec{padding:64px 0 0;gap:18px}
.scroll>.sec.pad{padding:64px 20px 0}
.sec.pad .sh2{padding:0}
.hero{position:relative;display:block;margin:6px 12px 0;height:540px;max-height:72dvh;max-height:max(240px,min(72dvh,calc(100dvh - 300px)));border-radius:28px;overflow:hidden;color:#fff;text-decoration:none;background:#1b1d24;isolation:isolate}
.hero img,.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:-2}
.hsh{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,0) 22%,rgba(0,0,0,0) 46%,rgba(0,0,0,.72) 100%)}
.hk{position:absolute;left:18px;top:16px;height:28px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.2);-webkit-backdrop-filter:blur(14px) saturate(1.6);backdrop-filter:blur(14px) saturate(1.6);display:inline-flex;align-items:center;font:600 12px/1 var(--num);letter-spacing:1.4px}
.hb{position:absolute;left:22px;right:22px;bottom:26px;display:flex;flex-direction:column;gap:14px;text-align:left;align-items:stretch}
.hd{display:flex;align-items:baseline;gap:10px;font:200 30px/1 var(--num);letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.hd i{font:500 15px/1 var(--num);font-style:normal;color:rgba(255,255,255,.92)}
.hb b{font-size:34px;font-weight:600;line-height:1.16;letter-spacing:-.04em;text-wrap:balance;word-break:keep-all;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.hf{display:flex;align-items:center;justify-content:space-between;gap:12px}
.hf small{font-size:14px;font-weight:500;color:rgba(255,255,255,.88);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hero .go{flex:none;width:40px;height:40px;border-radius:999px;background:#fff;color:var(--a2);display:flex;align-items:center;justify-content:center}
.hero .go svg{width:16px;height:16px}
.scroll .tick{margin:14px 12px 0;height:52px;border-radius:16px;background:var(--a2g)}
.tick .live{font-weight:800;color:#D7261E}.tick .live i{background:#D7261E;animation:nhlive 1.6s ease-in-out infinite}
@keyframes nhlive{0%,100%{opacity:1}50%{opacity:.35}}
.tick .ri span{font-size:15px;letter-spacing:-.02em}
.tick>svg{color:#A1A1A6}
.wtabs{padding:0 20px}
.wtabs button{height:34px;padding:0 14px;background:var(--a2g);color:#3A3A3C;font:700 13.5px/34px var(--sys)}
.wtabs button[aria-selected="true"]{background:var(--a2);color:#fff}
.wpane{gap:0;padding:0 20px}
.wrow{display:grid;grid-template-columns:116px minmax(0,1fr);gap:16px;align-items:center;padding:16px 0;border-top:.5px solid var(--a2l);color:var(--a2);text-decoration:none}
.sq{position:relative;display:block;width:116px;height:116px;border-radius:18px;overflow:hidden;background:var(--a2g)}
.sq img,.sq video{width:100%;height:100%;object-fit:cover;display:block}
.sq.whole{background:#fff}.sq.whole img{object-fit:contain}
.db2{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.db2 small{font:500 12px/1 var(--num);color:var(--a2m)}
.wrow .db2 b{font:200 44px/1 var(--num);letter-spacing:-.03em;color:var(--a2)}
.wrow .tx{display:flex;flex-direction:column;gap:7px;min-width:0}
.wd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:600 13px/1.3 var(--sys);color:var(--a2)}
.wd em{font-style:normal;height:20px;padding:0 8px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--a2l);color:#6E6E73;display:inline-flex;align-items:center;font-size:11px;font-weight:600}
.wd em.k{background:var(--a2);color:#fff;box-shadow:none;font-weight:700}
.wrow .tx b{font-size:17px;font-weight:600;line-height:1.34;letter-spacing:-.03em;word-break:keep-all;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wrow small{font-size:13px;font-weight:500;color:var(--a2m);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scroll .wsoon{margin:22px 0 6px;padding:0;font-size:13px;font-weight:600;color:var(--a2m)}
.scroll .wnone{margin:8px 0 0;padding:0;font-size:14px;color:var(--a2m)}
.scroll>.sec .hs{gap:12px;padding:0 20px;scroll-padding:20px}
.fcard2{flex:none;width:262px;max-width:72vw;scroll-snap-align:start;display:flex;flex-direction:column;gap:12px;color:var(--a2);text-decoration:none}
.fcard2 .ph{position:relative;display:block;height:300px;border-radius:24px;overflow:hidden;background:var(--a2g);isolation:isolate}
.fcard2 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.fcard2 .hsh{background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.6))}
.fcard2 .ph .fd{position:absolute;left:16px;bottom:44px;font:200 26px/1 var(--num);letter-spacing:-.4px;color:#fff}
.fcard2 .ph small{position:absolute;left:16px;right:16px;bottom:20px;font-size:13px;font-weight:600;color:rgba(255,255,255,.9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fcard2 b{font-size:17px;font-weight:600;line-height:1.34;letter-spacing:-.03em;word-break:keep-all;padding:0 2px}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
.fgrid .fcard{width:auto;max-width:none;flex:initial;gap:10px}
/* KTO food photos are KOGL Type 3: never cropped; the home picks ~4:3 ones, shown whole on white */
.fgrid .ph{display:block;aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:#fff}
.fgrid .ph img{width:100%;height:100%;object-fit:contain;border-radius:0;background:#fff}
.fgrid .tx{padding:0 2px;gap:3px}
.fgrid b{font-size:16px;font-weight:600;letter-spacing:-.02em}
.fgrid small{font-size:12.5px;font-weight:500;color:var(--a2m)}
.mcard{background:var(--a2);border-radius:28px;padding:26px 22px 22px;gap:14px}
.mcard .mk{margin:0;font:600 12px/1 var(--num);letter-spacing:1.6px;color:rgba(255,255,255,.6)}
.mcard h2{margin:0;font-size:26px;font-weight:600;line-height:1.22;letter-spacing:-.04em;word-break:keep-all;color:#fff}
.ms2{margin:0;font-size:14px;line-height:1.5;color:rgba(255,255,255,.75)}
.mg2{margin:0;display:flex;gap:6px;flex-wrap:wrap}
.mg2 span{height:28px;padding:0 11px;border-radius:999px;background:rgba(255,255,255,.12);display:inline-flex;align-items:center;font-size:12.5px;font-weight:600;color:#fff}
.mcard .mup{height:52px;font-weight:800;color:var(--a2)}
.nlist a{display:grid;grid-template-columns:50px minmax(0,1fr) 14px;gap:12px;padding:15px 0;border-bottom:0;border-top:.5px solid var(--a2l)}
.nlist a:last-child{border-bottom:0}
.nlist b{font-size:15.5px;font-weight:600;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nlist a>svg{width:14px;height:14px;color:#C7C7CC}
.nd{width:auto;font:500 14px/1.2 var(--num);color:#A1A1A6}
.scroll .foot{margin:48px 20px 0;font-size:11.5px;color:#A1A1A6;line-height:1.65}
.bbar{left:14px;right:14px}
.bnav{height:64px;border-radius:32px;background:rgba(255,255,255,.82);box-shadow:inset 0 0 0 .5px rgba(0,0,0,.06),0 10px 30px -8px rgba(0,0,0,.18);border:0}
.bnav .tab{flex-direction:column;gap:2px;border-radius:26px;color:#3A3A3C;font:700 10.5px/1 var(--sys)}
.bnav .tab span{display:inline}
.bnav .tab[aria-current="page"]{background:var(--a2)}
.bnav .tab svg,.bnav .tab[aria-current="page"] svg{width:21px;height:21px}
.bnav .plus{width:auto;height:auto;background:none;border-radius:0}
.bnav .plus svg{width:21px;height:21px}
.bnav .tab img,.bnav .tab[aria-current="page"] img{width:24px;height:24px}
@media (prefers-reduced-motion:reduce){.tick .live i{animation:none}}
/* mission deck (canvas A2 '재미있는 미션', owner 2026-10-29) */
.mleft{display:flex;align-items:baseline;gap:6px;font-size:12.5px;font-weight:500;color:var(--a2m)}
.mleft b{font:300 17px/1 var(--num);color:var(--a2);letter-spacing:.3px;font-variant-numeric:tabular-nums}
.mdeck{position:relative;height:330px;margin-top:44px}
.mb1,.mb2{position:absolute;border-radius:28px}
.mb1{left:14px;right:14px;top:-14px;height:300px;background:#D9D9DE;transform:rotate(-3deg)}
.mb2{left:6px;right:6px;top:-7px;height:310px;background:#3A3A3D;transform:rotate(2deg)}
.mdeck .mcard{position:absolute;inset:0;border-radius:28px;padding:22px 20px 20px;gap:12px;box-shadow:0 18px 40px -16px rgba(0,0,0,.45);transition:transform .45s cubic-bezier(.2,.9,.25,1.15),opacity .3s}
.mdeck .mcard.out{transform:translate(120%,-10px) rotate(14deg);opacity:0;transition:transform .38s cubic-bezier(.5,0,.75,0),opacity .38s}
.mdeck .mcard.in{transform:translateY(18px) scale(.96);opacity:0;transition:none}
.mcat{position:absolute;right:10px;top:-50px;width:96px;height:auto;transform:scaleX(-1);pointer-events:none;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}
.mdeck .mk{display:flex;align-items:center;gap:10px;font:600 12.5px/1 var(--sys);letter-spacing:0;color:rgba(255,255,255,.62)}
.rd{display:inline-flex;gap:4px}.rd i{width:6px;height:6px;border-radius:999px;background:rgba(255,255,255,.25)}.rd i.on{background:#fff}
.mdeck h3{margin:0;font-size:27px;font-weight:600;line-height:1.22;letter-spacing:-.04em;word-break:keep-all;color:#fff;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mdeck .mg2{margin-top:auto}
.mrow{display:flex;gap:8px}.mrow .mup{flex:1}
.mre{all:unset;box-sizing:border-box;flex:none;width:52px;height:52px;border-radius:999px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer}
.mre svg{width:20px;height:20px}
.mpos{margin:10px 0 0;display:flex;justify-content:space-between;font-size:13px;font-weight:500;color:var(--a2m)}
.mpos b{font:300 13px/1.4 var(--num)}
.mboard{margin-top:8px;border-radius:22px;background:var(--a2g);padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.mboard p{margin:0;display:flex;justify-content:space-between;align-items:baseline;font-size:15px}
.mboard p>b{font-weight:600;letter-spacing:-.02em}
.mboard p span{font-size:12.5px;color:var(--a2m)}.mboard p span b{font:500 15px/1 var(--num);color:var(--a2)}
.mboard>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.st{display:flex;flex-direction:column;align-items:center;gap:6px}
.st i{width:48px;height:48px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1.5px #D2D2D7}
.st.on i{background:var(--a2)}
.st small{font-size:11.5px;font-weight:600;color:#A1A1A6;text-align:center;word-break:keep-all}
.hero{background-size:cover;background-position:center}

/* line breaks (owner 2026-10-29: "전체적으로 단락 나눔 유의"): headings and card titles balance their lines and never break
   inside a Korean word; running text avoids a lone word on its last line */
h1,h2,h3,.card-title,.nhs-card b,.nhs-list b,.nhh b,.nhh-hero b,.nhd-card b,.pl h1,.nst-card h2,.nh-a-sec h2,.nh-a-sec h3{text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}
p,li,dd,blockquote,figcaption,.summary,.lead,.copy-section p,.nhh small,.nhh em,.nhh .ln,.nhd-in li,.nhd-what p{text-wrap:pretty;word-break:keep-all;overflow-wrap:anywhere}
.wrow b,.fcard b,.fcard2 b,.nlist b,.hero .hd,.hero b,.mcard b,#mT{text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}
/* intro, new cat (owner's canvas "Intro", 2026-10-29) */
html.nh-intro .intro.i2{display:block;background:#fff;height:100dvh}
.intro.i2 video{position:absolute;display:block;flex:none;max-height:none;margin:0;order:0;left:50%;width:133%;margin-left:-66.5%;top:31%;height:auto;aspect-ratio:16/9;object-fit:contain;mix-blend-mode:multiply}
.intro.i2 .ihead{position:absolute;left:0;right:0;top:0;z-index:3;height:60px;box-sizing:border-box;padding:env(safe-area-inset-top,0px) 20px 0;display:flex;align-items:center;justify-content:space-between}
.intro.i2 #ilang{all:unset;height:30px;padding:0 11px;border-radius:999px;box-shadow:inset 0 0 0 1px #E3E3E6;background:rgba(255,255,255,.7);display:flex;align-items:center;font:600 12.5px/1 var(--sys);letter-spacing:.6px;cursor:pointer}
.intro.i2 .itop{position:absolute;margin:0;z-index:2;left:24px;right:24px;top:calc(env(safe-area-inset-top,0px) + 78px);gap:14px;animation:i2rise .7s cubic-bezier(.2,.8,.25,1) both}
.intro.i2 .idate{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13.5px;font-weight:500;color:#6E6E73}
.intro.i2 .ichip{height:24px;padding:0 2px;border-radius:0;background:none;display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:#3A3A3C}
.intro.i2 .ichip svg{width:14px;height:14px}
.intro.i2 .ichip b{font-weight:600;font-variant-numeric:tabular-nums}
.intro.i2 .igreet{margin:0;min-height:125px;font-size:34px;line-height:1.22;font-weight:300;letter-spacing:-1px;white-space:pre-line;text-wrap:balance;word-break:keep-all;color:#0E0E0F}
.intro.i2 .icat{all:unset;position:absolute;z-index:2;left:50%;top:38%;width:60%;height:22%;transform:translateX(-50%);cursor:pointer}
.intro.i2 .ibub{position:absolute;left:42%;top:-6px;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.12),inset 0 0 0 .5px rgba(0,0,0,.06);border-radius:999px;padding:8px 14px;font:600 13.5px/1.2 var(--sys);color:#0E0E0F;white-space:nowrap;pointer-events:none;transform:translateX(-50%)}
.intro.i2 .ibub.on{animation:i2bub 2.2s ease forwards}
@keyframes i2bub{0%{opacity:0;transform:translate(-50%,8px) scale(.7)}18%{opacity:1;transform:translate(-50%,0) scale(1.05)}26%{transform:translate(-50%,0) scale(1)}82%{opacity:1}100%{opacity:0;transform:translate(-50%,-6px)}}
@keyframes i2rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.intro.i2 .ileaves{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:2}
.intro.i2 .ileaves:not([src]){display:none}
.intro.i2 .ibot{position:absolute;z-index:4;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 4px);display:flex;flex-direction:column;gap:10px;animation:i2rise .8s .15s cubic-bezier(.2,.8,.25,1) both}
.intro.i2 .icard{border-radius:26px;padding:6px;background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(22px) saturate(1.8);backdrop-filter:blur(22px) saturate(1.8);box-shadow:inset 0 0 0 .5px rgba(0,0,0,.06),0 12px 30px -10px rgba(0,0,0,.18);display:flex;flex-direction:column}
.intro.i2 .iiss{position:static;height:48px;padding:0 14px;display:flex;flex-direction:row;align-items:center;gap:10px;overflow:hidden}
.intro.i2 .iiss .live{flex:none;margin:0;display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#E5322D}
.intro.i2 .iiss .live i{width:6px;height:6px;border-radius:99px;background:#E5322D;animation:i2blink 1.4s ease infinite}
@keyframes i2blink{0%,100%{opacity:1}50%{opacity:.25}}
.intro.i2 .iroll{flex:1;min-width:0;height:48px;overflow:hidden}
.intro.i2 .ri{display:flex;align-items:center;gap:6px;height:48px;font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden}
.intro.i2 .ri span{overflow:hidden;text-overflow:ellipsis}
.intro.i2 .ri b{font-weight:700;font-variant-numeric:tabular-nums}
.intro.i2 .isep{height:.5px;background:#E3E3E6;margin:0 14px}
.intro.i2 .ims{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.intro.i2 .ims>span:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.intro.i2 .ims small{font-size:12px;font-weight:600;color:#8A8A8F}
.intro.i2 .ims b{font-size:15px;font-weight:600;letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.intro.i2 .ileft{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.intro.i2 .ileft small{font-size:11px;font-weight:500}
.intro.i2 .ileft b{font-variant-numeric:tabular-nums}
.intro.i2 .ienter{all:unset;position:static;box-sizing:border-box;height:56px;border-radius:999px;background:#0E0E0F;color:#fff;font:600 16px/1 var(--sys);display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}
.intro.i2 .ienter svg{width:16px;height:16px}
.intro.i2 .iadopt{all:unset;text-align:center;font-size:13px;color:#6E6E73;cursor:pointer;padding:2px 0}
.intro.i2 .iadopt b{font-weight:600;color:#0E0E0F}
@media (max-height:700px){.intro.i2 .itop{top:calc(env(safe-area-inset-top,0px) + 60px)}.intro.i2 .igreet{font-size:28px;min-height:0}.intro.i2 video{top:27%}}
@media (prefers-reduced-motion:reduce){.intro.i2 .itop,.intro.i2 .ibot{animation:none}}
.intro.i2 .iiss{order:0}.intro.i2 .isep{order:1}.intro.i2 .ims{order:2}
.intro.i2 .imenu{position:absolute;z-index:5}
/* the kitten pill, bottom left (canvas Main-A2; HQ 10/29: small so it never covers a heading): a 64 px circle with the
   kitten, churu and the bowl at 40 px; half see-through while the page scrolls; grows to show the kitten eating */
.feedc{position:fixed;left:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 90px);z-index:40;width:170px;height:72px;box-sizing:border-box;padding:4px 8px 4px 4px;border-radius:999px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(22px) saturate(1.8);backdrop-filter:blur(22px) saturate(1.8);box-shadow:inset 0 0 0 .5px rgba(0,0,0,.06),0 12px 28px -12px rgba(0,0,0,.32);display:flex;align-items:center;gap:6px;overflow:hidden;transition:opacity .25s ease,width .45s cubic-bezier(.2,.9,.25,1.1),height .45s cubic-bezier(.2,.9,.25,1.1),border-radius .45s ease}
html.nh-intro .feedc{display:none}
.feedc.scrolling{opacity:.6}
.feedc .fv{position:relative;flex:none;width:64px;height:64px;border-radius:50%;overflow:hidden;background:#fff;transition:width .45s cubic-bezier(.2,.9,.25,1.1),height .45s cubic-bezier(.2,.9,.25,1.1),border-radius .45s ease}
.feedc video,.feedc img.valt{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:translate(8%,-24%) scale(1.6);mix-blend-mode:multiply;pointer-events:none}
.feedc #fsay{position:absolute;left:0;right:0;bottom:8px;text-align:center;font-size:12px;font-weight:600;color:#6E6E73;white-space:nowrap;opacity:0;transition:opacity .3s}
.feedc .fb{display:flex;align-items:center;gap:2px}
.feedc button{all:unset;width:44px;height:56px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .2s}
.feedc button img{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 5px 6px rgba(0,0,0,.16));animation:fbob 2.4s ease-in-out infinite}
.feedc button+button img{animation:fbob2 2.8s ease-in-out infinite}
.feedc button.on img{animation:none}
.feedc button.dim{opacity:.35}
.feedc.eat{width:200px;height:120px;border-radius:28px;align-items:flex-start;padding:6px}
.feedc.eat .fv{width:120px;height:108px;border-radius:22px}
.feedc.eat video,.feedc.eat img.valt{transform:scale(1.3);transform-origin:50% 60%}
.feedc.eat #fsay{opacity:1}
.feedc.eat .fb{flex-direction:column;align-self:center}
@keyframes fbob{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-7px) rotate(5deg)}}
@keyframes fbob2{0%,100%{transform:translateY(-5px) rotate(4deg)}50%{transform:translateY(2px) rotate(-4deg)}}
@media (prefers-reduced-motion:reduce){.feedc button img{animation:none}.feedc,.feedc .fv{transition:none}}
/* adopt a kitten */
/* sign-up kitten picker (canvas Adopt board 2026-10-28): a 390×844 stage scaled to the screen, positions as drawn */
.adp2{position:fixed;inset:0;z-index:90;background:#fff;overflow:hidden;animation:a2in .52s cubic-bezier(.32,.72,0,1) both;will-change:transform}
.adp2.out{transform:translateY(100%);transition:transform .42s cubic-bezier(.32,.72,0,1)}
@keyframes a2in{from{transform:translateY(100%)}to{transform:none}}
.a2s{position:absolute;left:50%;top:0;width:390px;height:844px;transform-origin:50% 0;color:#1D1D1F;font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;-webkit-font-smoothing:antialiased;letter-spacing:-.01em}
.a2s button{-webkit-tap-highlight-color:transparent;transition:transform .32s cubic-bezier(.2,.9,.25,1.2),opacity .2s ease,background-color .2s ease}
.a2s button:active{transform:scale(.96);opacity:.82;transition-duration:.08s}
.a2s .glass{background:rgba(255,255,255,.8);backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);border:.5px solid rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 2px 12px rgba(0,0,0,.06)}
.a2top{position:absolute;left:16px;right:16px;top:14px;height:40px;display:flex;align-items:center;justify-content:space-between}
.a2b{all:unset;box-sizing:border-box;width:40px;height:40px;border-radius:999px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.a2b.glass{background:rgba(255,255,255,.8)}
.a2prog{display:flex;gap:5px}
.a2prog span{display:block;height:4px;width:8px;border-radius:999px;background:#D2D2D7;transition:width .4s cubic-bezier(.22,1,.36,1),background-color .3s}
.a2prog span.done{background:#1D1D1F}.a2prog span.on{width:22px;background:#1D1D1F}
.a2hint{position:absolute;left:0;right:0;top:70px;text-align:center;font-size:14px;color:#86868B}
.a2mb{position:absolute;z-index:2;left:0;right:0;top:94px;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:8px}
.a2mb span{font-family:-apple-system,'SF Pro Display','Helvetica Neue',sans-serif;font-size:68px;font-weight:200;line-height:1;letter-spacing:.01em}
.a2mb small{font-size:12px;color:#86868B;letter-spacing:.02em}
.a2stage{position:absolute;left:0;top:176px;width:390px;height:226px;overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.a2drag{position:absolute;inset:0;will-change:transform}
.a2drag video{position:absolute;left:-45px;top:-50px;width:480px;height:277px;object-fit:cover;pointer-events:none;opacity:0;mix-blend-mode:multiply;transition:opacity .6s cubic-bezier(.22,1,.36,1)}
.a2drag video.on{opacity:1}
.a2nav{all:unset;position:absolute;top:272px;width:40px;height:40px;border-radius:999px;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.a2nav svg{width:16px;height:16px}.a2nav.l{left:10px}.a2nav.r{right:10px}
.a2who{position:absolute;left:0;right:0;top:392px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 34px}
.a2who small{font-size:13px;color:#86868B}
.a2who b{font-size:28px;font-weight:700;letter-spacing:-.03em}
.a2who b em{font-style:normal;font-size:14px;font-weight:500;color:#86868B;letter-spacing:0;margin-left:2px;vertical-align:3px}
.a2who p{margin:8px 0 0;font-size:15.5px;line-height:1.6;color:#3A3A3C;text-wrap:pretty;word-break:keep-all}
.a2ax{position:absolute;left:36px;right:36px;top:572px;display:flex;flex-direction:column;gap:12px}
.a2ax>div{display:grid;grid-template-columns:72px 1fr 72px;align-items:center;gap:10px}
.a2ax span{font-size:12.5px;color:#AEAEB2;transition:color .3s;white-space:nowrap}
.a2ax span.r{text-align:right}.a2ax span.on{color:#1D1D1F;font-weight:600}
.a2ax i{position:relative;height:12px}
.a2ax i::before{content:"";position:absolute;left:0;right:0;top:5.5px;height:1px;background:#D2D2D7}
.a2ax i::after{content:"";position:absolute;left:50%;top:2px;width:1px;height:8px;background:#D2D2D7}
.a2ax b{position:absolute;top:0;width:12px;height:12px;margin-left:-6px;border-radius:999px;background:#1D1D1F;transition:left .7s cubic-bezier(.22,1,.36,1)}
.a2dots{position:absolute;left:0;right:0;top:724px;display:flex;justify-content:center;gap:7px}
.a2dots button{all:unset;width:6px;height:6px;border-radius:999px;background:#D2D2D7;cursor:pointer;transition:width .35s cubic-bezier(.22,1,.36,1),background-color .3s}
.a2dots button.on{width:20px;background:#1D1D1F}
.a2go{all:unset;box-sizing:border-box;position:absolute;left:20px;right:20px;bottom:34px;height:56px;border-radius:999px;background:#1D1D1F;color:#fff;font:600 17px -apple-system,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .25s,color .25s}
.a2go:disabled{background:#fff;color:#A1A1A6;pointer-events:none}
.a2card{position:absolute;left:32px;right:32px;top:74px;height:200px;border-radius:34px;background:#fff;overflow:hidden}
.a2card video{position:absolute;left:-27px;top:0;width:380px;height:219px;object-fit:cover;mix-blend-mode:multiply}
.a2h{position:absolute;left:0;right:0;top:302px;text-align:center;display:flex;flex-direction:column;gap:6px;padding:0 22px}
.a2h b{font-size:30px;font-weight:700;letter-spacing:-.03em;word-break:keep-all;text-wrap:balance}
.a2h span{font-size:15px;color:#86868B;word-break:keep-all;text-wrap:balance}
.a2h.gift{top:500px;gap:10px;padding:0 40px}
.a2h.gift span{font-size:16px;line-height:1.55;color:#1D1D1F;text-wrap:balance}
.a2h.gift small{font-size:13px;line-height:1.5;color:#86868B;text-wrap:balance;word-break:keep-all}
.a2line{position:absolute;left:44px;right:44px;top:382px;height:64px;display:flex;align-items:center;border-bottom:1px solid #D2D2D7;transition:border-color .3s}
.a2line.me{top:392px}.a2line.ok{border-color:#1D1D1F}
.a2line input{flex:1;min-width:0;border:none;outline:none;background:transparent;text-align:center;font:600 34px -apple-system,'SF Pro Display','Apple SD Gothic Neo','Noto Sans KR',sans-serif;color:#1D1D1F;letter-spacing:-.02em;padding:0}
.a2line input::placeholder{color:#C7C7CC}
.a2x{all:unset;flex:none;width:22px;height:22px;border-radius:999px;background:#C7C7CC;display:flex;align-items:center;justify-content:center;cursor:pointer}
.a2cnt{position:absolute;left:0;right:0;top:458px;text-align:center;font:300 12px -apple-system,'SF Pro Display',sans-serif;color:#86868B}
.a2idea{position:absolute;left:24px;right:24px;top:500px;display:flex;flex-direction:column;align-items:center;gap:12px}
.a2idea>span{font-size:13px;color:#86868B}
.a2idea>div{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.a2idea button{all:unset;height:38px;padding:0 16px;border-radius:999px;background:#fff;color:#1D1D1F;font:500 15px -apple-system,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;cursor:pointer}
.a2idea button.on{background:#1D1D1F;color:#fff}
.a2msg{position:absolute;left:24px;right:24px;top:466px;text-align:center;font-size:13px;color:#86868B;transition:color .25s}
.a2msg.ok{color:#1D1D1F;font-weight:500}.a2msg.bad,.a2msg.reserved{color:#D2412E}
.a2hello{position:absolute;left:32px;right:32px;top:590px;border-radius:20px;background:#fff;padding:16px 18px;display:flex;flex-direction:column;gap:4px}
.a2hello small{font-size:12px;color:#86868B}
.a2hello b{font-size:17px;font-weight:600;letter-spacing:-.02em;word-break:keep-all}
.a2gift{position:absolute;left:32px;right:32px;top:74px;height:400px;border-radius:34px;background:#fff;overflow:hidden}
.a2gift>span{position:absolute;left:0;right:0;top:24px;text-align:center;font-size:12px;font-weight:600;color:#86868B;letter-spacing:.08em}
.a2gift svg{position:absolute;left:50%;top:70px;transform:translateX(-56%)}
body:has(#screens .screen) .feedc{opacity:0;pointer-events:none}
/* room under the live line for the kitten pill on the first screen (HQ 10/29), phones only */

/* wardrobe (canvas Main-A2 Wardrobe board) */
.wr{padding:4px 0 calc(env(safe-area-inset-bottom,0px) + 120px);color:#0E0E0F}
.wr b{font-weight:inherit}
.wr-h{padding:4px 20px 0;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.wr-h>div{display:flex;flex-direction:column;gap:4px;min-width:0}
.wr-mb{font-size:13px;color:#8A8A8F;font-weight:500}
.wr-h h1{margin:0;font-size:32px;font-weight:600;letter-spacing:-1px;word-break:keep-all}
.wr-age{margin-top:4px;font-size:13px;color:#3A3A3C}
.wr-age b{font:300 16px -apple-system,'SF Pro Display','Helvetica Neue',sans-serif;font-variant-numeric:tabular-nums;color:#0E0E0F}
.wr-wear{flex:none;font-size:13px;color:#8A8A8F;padding-bottom:6px}
.wr-st{position:relative;margin:16px 12px 0;height:300px;border-radius:28px;background:#fff;overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.wr-touch{all:unset;position:absolute;inset:0;cursor:pointer;-webkit-touch-callout:none}
.wr-touch video{position:absolute;left:50%;top:10px;width:470px;height:271px;margin-left:-235px;object-fit:cover;mix-blend-mode:multiply;pointer-events:none}
.wr-touch img.valt{position:absolute;left:50%;top:10px;width:470px;height:271px;max-width:none;max-height:none;margin:0 0 0 -235px;display:block;object-fit:cover;transform:none;animation:none;mix-blend-mode:multiply}
.feedc img.valt{max-width:none;max-height:none;margin:0;display:block}
.wr-touch img{position:absolute;left:50%;top:40px;width:250px;transform:translateX(-50%);mix-blend-mode:multiply;pointer-events:none;animation:wdfade .3s ease}
@keyframes wdfade{from{opacity:0}to{opacity:1}}
.wr-bub{position:absolute;left:50%;top:18px;transform:translateX(-50%);background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(16px) saturate(1.8);backdrop-filter:blur(16px) saturate(1.8);box-shadow:0 4px 16px rgba(0,0,0,.08);border-radius:999px;padding:8px 15px;font-size:13.5px;font-weight:600;white-space:nowrap;pointer-events:none;opacity:0}
.wr-bub.on{animation:wdpop 2.6s ease forwards}
@keyframes wdpop{0%{opacity:0;transform:translate(-50%,6px) scale(.96)}15%{opacity:1;transform:translate(-50%,0) scale(1)}85%{opacity:1}100%{opacity:0}}
.wr-hint{position:absolute;left:0;right:0;bottom:14px;text-align:center;font-size:12px;color:#A1A1A6;pointer-events:none}
.wr-food{position:absolute;left:12px;bottom:30px;display:flex;flex-direction:column;gap:2px;z-index:3}
.wr-food button{all:unset;cursor:pointer}
.wr-food img{display:block;object-fit:contain;filter:drop-shadow(0 5px 7px rgba(0,0,0,.16));animation:wdbob 2.4s ease-in-out infinite}
.wr-food button+button img{animation:wdbob2 2.8s ease-in-out infinite}
@keyframes wdbob{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-8px) rotate(5deg)}}
@keyframes wdbob2{0%,100%{transform:translateY(-5px) rotate(4deg)}50%{transform:translateY(3px) rotate(-4deg)}}
.wr-acts{margin:12px 12px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.wr-acts button{all:unset;box-sizing:border-box;border-radius:18px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;background:#fff;color:#0E0E0F;transition:background-color .2s,color .2s}
.wr-acts b{font-size:14px;font-weight:700}
.wr-acts small{font-size:11.5px;color:#8A8A8F;font-weight:500}
.wr-acts button.on{background:#0E0E0F;color:#fff}
.wr-sec{margin:26px 20px 0;display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.wr-sec h2{margin:0;font-size:20px;font-weight:600;letter-spacing:-.5px}
.wr-sec span{font-size:12.5px;color:#8A8A8F;text-align:right}
.wr-out{margin:12px 20px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.wr-out button,.wr-out .lk{all:unset;box-sizing:border-box;padding:8px;border-radius:20px;display:flex;flex-direction:column;gap:6px;cursor:pointer;background:#fff;box-shadow:inset 0 0 0 1px #E3E3E6;min-width:0}
.wr-out button[aria-pressed="true"]{box-shadow:inset 0 0 0 2px #0E0E0F}
.wr-out .im{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1/1;border-radius:16px;background:#fff;overflow:hidden;position:relative}
.wr-out .im img{position:absolute;inset:6%;width:88%;height:88%;object-fit:contain;mix-blend-mode:multiply}
.wr-out b{font-size:13.5px;font-weight:600}
.wr-out small{font-size:11.5px;color:#8A8A8F;line-height:1.35;word-break:keep-all}
.wr-out .lk{cursor:default;background:#fff;box-shadow:none;opacity:.6}
.wr-out .lk .im{background:#fff}
.wr-cnt{margin:0;padding:0 20px;text-align:right;font-size:12.5px;color:#8A8A8F;white-space:nowrap}
.wr-cnt b{font:300 16px -apple-system,'SF Pro Display','Helvetica Neue',sans-serif;font-variant-numeric:tabular-nums;color:#0E0E0F;margin:0 12px 0 3px}
.wr-cnt b:last-child{margin-right:0}
.wr-st .empty img,.feedc button.empty img{filter:grayscale(1) drop-shadow(0 5px 6px rgba(0,0,0,.1));opacity:.45;animation:none}
.a2h.m0{top:104px}.a2line.m0{top:214px}.a2msg.m0{top:290px}.a2hello.m0{top:340px}
.a2x[hidden]{display:none}
/* Apple-like motion for the sign-up and kitten flow (owner 2026-10-29: "넘길때는 정말 부드럽게 … 애플같이") */
html.nh-auth-ghost #nh-auth-overlay{visibility:hidden!important;pointer-events:none!important}
.a2pane{position:absolute;inset:0}
.a2top{z-index:5}
.a2pane.fwd{animation:a2fwd .46s cubic-bezier(.32,.72,0,1) both}
.a2pane.bwd{animation:a2bwd .46s cubic-bezier(.32,.72,0,1) both}
@keyframes a2fwd{from{transform:translate3d(36px,0,0);opacity:0}to{transform:none;opacity:1}}
@keyframes a2bwd{from{transform:translate3d(-36px,0,0);opacity:0}to{transform:none;opacity:1}}
.a2s button{transition:transform .38s cubic-bezier(.32,.72,0,1),opacity .2s ease,background-color .2s ease,color .2s ease}
.a2s button:active{transform:scale(.97);opacity:.86;transition-duration:.1s}
.a2logo{display:block}
.a2stage{touch-action:pan-y}
.a2track{position:absolute;left:0;top:0;height:100%;width:1560px;display:flex;will-change:transform}
.a2sl{position:relative;flex:0 0 390px;height:100%;overflow:hidden}
.a2sl video{position:absolute;left:-45px;top:-50px;width:480px;height:277px;object-fit:cover;pointer-events:none;mix-blend-mode:multiply}
.a2nav:disabled{opacity:.3;pointer-events:none}
.sw-t{transition:opacity .15s ease,transform .3s cubic-bezier(.32,.72,0,1)}
.sw-t.out{opacity:0;transform:translateY(4px)}
.a2jv{position:absolute;left:0;top:70px;width:390px;height:250px;overflow:hidden}
.a2jv video{position:absolute;left:-45px;top:-10px;width:480px;height:277px;object-fit:cover;mix-blend-mode:multiply}
.a2h.j{top:330px;gap:8px;padding:0 32px}
.a2h.j span{line-height:1.5}
.a2jb{position:absolute;left:20px;right:20px;top:452px;display:flex;flex-direction:column;gap:10px}
.a2gg{all:unset;box-sizing:border-box;position:relative;height:54px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px #D2D2D7;display:flex;align-items:center;justify-content:center;font:600 16px -apple-system,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;color:#1D1D1F;cursor:pointer}
.a2gg svg{position:absolute;left:18px}
.a2ee{all:unset;height:44px;text-align:center;font:500 15px -apple-system,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;color:#1D1D1F;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#D2D2D7}
.a2al{position:absolute;left:0;right:0;bottom:30px;margin:0;text-align:center;font-size:12.5px;color:#86868B}
.a2al button{all:unset;color:#1D1D1F;font-weight:600;cursor:pointer;padding:6px 2px}
.a2h.e{top:96px;padding:0 28px}
.a2fm{position:absolute;left:24px;right:24px;top:210px;display:flex;flex-direction:column;gap:14px}
.a2fm label{display:flex;flex-direction:column;gap:6px}
.a2fm span{font-size:13px;color:#86868B}
.a2fm input{height:54px;border:0;border-radius:14px;background:#fff;padding:0 16px;font:500 17px -apple-system,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;color:#1D1D1F;outline:none;transition:box-shadow .2s}
.a2fm input:focus{box-shadow:inset 0 0 0 1.5px #1D1D1F;background:#fff}
.a2emsg{position:absolute;left:24px;right:24px;top:396px;margin:0;font-size:13.5px;line-height:1.5;color:#3A3A3C;text-align:center;word-break:keep-all;min-height:20px}
.a2sw{all:unset;position:absolute;left:0;right:0;top:450px;text-align:center;font-size:14px;color:#1D1D1F;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#D2D2D7}
.a2shh{position:absolute;inset:0;pointer-events:none;z-index:8}
.a2shh>*{pointer-events:auto}
.a2dim{position:absolute;inset:0;background:rgba(0,0,0,.28);animation:a2dim .3s ease both}
.a2dim.out{opacity:0;transition:opacity .28s}
@keyframes a2dim{from{opacity:0}to{opacity:1}}
.a2sheet{position:absolute;left:0;right:0;bottom:0;background:#fff;border-radius:28px 28px 0 0;padding:10px 20px 30px;display:flex;flex-direction:column;box-shadow:0 -10px 40px rgba(0,0,0,.1);animation:a2up .5s cubic-bezier(.32,.72,0,1) both}
.a2sheet.out{transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1)}
@keyframes a2up{from{transform:translateY(100%)}to{transform:none}}
.a2sheet .grab{width:36px;height:5px;border-radius:999px;background:#D2D2D7;margin:0 auto 18px}
.a2sheet>small{font-size:13px;color:#86868B}
.a2sheet>b{margin-top:4px;font-size:22px;font-weight:700;letter-spacing:-.02em}
.a2all{all:unset;box-sizing:border-box;margin-top:18px;height:56px;border-radius:16px;background:#fff;display:flex;align-items:center;gap:12px;padding:0 16px;cursor:pointer;font:600 16px -apple-system,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;color:#1D1D1F}
.a2all .bx{width:24px;height:24px;border-radius:999px;background:#D2D2D7;display:flex;align-items:center;justify-content:center;transition:background-color .2s}
.a2all.on .bx{background:#1D1D1F}
.a2tm{all:unset;box-sizing:border-box;flex:1;min-width:0;min-height:46px;display:flex;align-items:center;gap:12px;padding:0 16px;cursor:pointer;font:400 15px -apple-system,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;color:#D2D2D7}
.a2tm span{color:#1D1D1F}
.a2tm.on{color:#1D1D1F}
.a2sheet>.a2tm{margin-top:8px}
.a2tmr{display:flex;align-items:center}
.a2tmr a{padding:0 10px;color:#C7C7CC;font-size:20px;text-decoration:none}
.a2go.in{position:static;margin-top:14px}
.a2gg.kakao{background:#FEE500;color:rgba(0,0,0,.85);box-shadow:none}
.a2gg.apple{background:#000;color:#fff;box-shadow:none}
.intro.i2.ip video{width:55%;margin-left:-27.5%;aspect-ratio:9/16;top:calc(50% + 55px - 48.9vw)}
.intro.i2.ip .icat{top:calc(50% + 55px - 30vw);width:50%;height:calc(60vw)}
.feedc button{position:relative}
.feedc .cnt{position:absolute;top:4px;right:0;min-width:18px;height:18px;padding:0 4px;box-sizing:border-box;border-radius:999px;background:#0E0E0F;color:#fff;box-shadow:0 0 0 2px #fff;font:600 11px/18px -apple-system,'SF Pro Text',sans-serif;font-style:normal;text-align:center;font-variant-numeric:tabular-nums;pointer-events:none}
/* no grey boxes behind the kittens or around notes (owner 2026-10-29: "그레이 박스 다 지워"); the name card shows the kitten
   playing with yarn, a little bigger and centred */
.a2card{background:transparent;overflow:visible}
.a2card video{position:absolute;left:50%;top:50%;width:470px;height:271px;transform:translate(-50%,-50%);object-fit:cover;mix-blend-mode:multiply;pointer-events:none}
.a2hello{background:transparent;padding:0 4px;align-items:center;text-align:center}
.a2gift{background:transparent}
.wr-st{background:#fff}
.wr-out .im{background:transparent}
.wr-out .lk{background:transparent;box-shadow:inset 0 0 0 1px #EDEDF0}
.wr-out .lk .im{background:transparent}
.a2gift .g2{position:absolute;left:0;right:0;top:120px;display:flex;justify-content:center;gap:34px}
.a2gift .g2>div{display:flex;flex-direction:column;align-items:center;gap:10px}
.a2gift .g2 img{width:110px;height:110px;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(0,0,0,.14));animation:wdbob 2.6s ease-in-out infinite}
.a2gift .g2>div+div img{animation-name:wdbob2}
.a2gift .g2 b{font:300 30px -apple-system,'SF Pro Display',sans-serif;font-variant-numeric:tabular-nums}
.a2gift .g2 small{font-size:13px;color:#86868B}
.fv.snow{background:#F2F4F5}
.nh-rain{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:85;animation:nhrain 1.2s ease both}
@keyframes nhrain{from{opacity:0}to{opacity:1}}
.adp2{box-sizing:border-box;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}
.a2go{bottom:calc(34px + var(--kb,0px));transition:bottom .32s cubic-bezier(.32,.72,0,1),transform .38s cubic-bezier(.32,.72,0,1),background-color .25s,color .25s}
.a2go.in{bottom:auto}
/* short screens (owner 2026-10-29: Chrome/Safari with their bars, iPhone SE 375×547): the intro kitten's feet stay above the
   bottom card - the portrait clip (9:16, 55vw wide) has the paws at 71 % of its height, so its top is set from the screen's
   bottom edge, and the tap area moves with it */
@media (max-height:600px){.intro.i2.ip video{top:calc(100dvh - env(safe-area-inset-bottom,0px) - 172px - 69.4vw)}.intro.i2.ip .icat{top:calc(100dvh - env(safe-area-inset-bottom,0px) - 172px - 50.5vw)}}
/* the home scrolls on under the tab bar; on short screens the next title showed half cut below it (owner 2026-10-29 via
   character team), so the strip under the bar fades to white */
.feedc~.bbar::before,.bbar::before{content:"";position:fixed;left:0;right:0;bottom:0;height:calc(env(safe-area-inset-bottom,0px) + 34px);background:linear-gradient(rgba(255,255,255,0),#fff 60%);z-index:-1;pointer-events:none}
/* install-the-app buttons (data-a2hs; app-mode.js hides them in the app) */
.happ{all:unset;box-sizing:border-box;height:30px;padding:0 10px 0 8px;margin-right:4px;display:inline-flex;align-items:center;gap:4px;border-radius:999px;background:#fff;color:var(--ink);font:600 13px/1 var(--sys);letter-spacing:-.01em;cursor:pointer;white-space:nowrap}
.happ:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.menu .m-app{all:unset;box-sizing:border-box;display:block;width:100%;margin-top:6px;padding:12px 14px;border-top:1px solid rgba(0,0,0,.08);font:600 14px/1.2 var(--sys);color:var(--ink);cursor:pointer}
.me-app{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;width:calc(100% - 24px);margin:20px 12px 8px;padding:15px 16px;border-radius:16px;background:#fff;font:600 15px/1.2 var(--sys);color:var(--ink);cursor:pointer}
.me-app span{color:#8A8A8F;font-size:20px;font-weight:400}
/* owner 2026-10-30: no kitten card on the home; the user's kitten walks in the 나비 tab (bottom right) */
.bnav .tab .tcat{position:relative;display:block;width:46px;height:34px;overflow:hidden;background:none}
.bnav .tab .tcat video,.bnav .tab .tcat img,.bnav .tab[aria-current="page"] .tcat img{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:cover;transform:scale(1.25);mix-blend-mode:multiply;filter:none}
/* owner 2026-10-30: the gaps opened too wide once the kitten card left; tighter between rows, and the first row sits
   close under the live line */
.scroll>.sec{padding-top:44px}.scroll>.sec.pad{padding-top:44px}
.scroll>.tick+.sec{padding-top:26px}
/* lazy photos appear whole, never half drawn (app.js adds .in after load + decode) */
img.lz{opacity:0;transition:opacity .25s ease}img.lz.in{opacity:1}
@media (prefers-reduced-motion:reduce){img.lz{transition:none}}
.media video{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#fff}
/* one frame per kind, filled (owner 2026-10-30: "썸네일 사이즈 … 불규칙"): list squares stay square; every photo card and
   every detail photo, gallery and place slider is 4:3 and filled (cover). Only photos whose licence forbids changes
   (KOGL Type 3, no-derivatives; class .whole) sit whole on white - no grey bands. Vertical video players keep 9:16. */
.ph,.food-ph,.fcard img,.ecard .ph img,.media img,.media.wide img,.gal img,.pls img{aspect-ratio:4/3;height:auto;max-height:none;object-fit:cover}
.media video{aspect-ratio:4/3}
.media img.whole,.gal img.whole,.pls img.whole,.fcard img.whole,img.food-ph.whole,.fth.whole{object-fit:contain;background:#fff}
/* (zoom-and-pan on thumbnails removed 2026-10-30, owner: "이상한 이팩트 다 빼 … 이미지는 멈춰잇게") */
/* the story read in place (storyInto) */
.story-in{margin:8px 20px 28px;font-size:16px;line-height:1.72;color:var(--ink);word-break:keep-all}
.story-in .lead{font-size:17px;font-weight:600;line-height:1.6;margin:8px 0 16px}
.story-in section{margin:0 0 18px}.story-in h2,.story-in h3{font-size:18px;line-height:1.4;margin:22px 0 8px;text-wrap:balance}
.story-in p{margin:0 0 12px}.story-in img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;margin:12px 0 4px}.story-in figcaption,.story-in small{font-size:12px;color:#8A8A8F}
.story-in a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
/* owner 2026-10-30: no grey box flashes when tapping the kitten (or anything else) */
html,body,.scr *,.intro *{-webkit-tap-highlight-color:transparent}
#ivid,.ivid,.icat,.feedc,.tcat,#meNabi,#meNabi img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;outline:none}
/* owner 2026-10-30: no white circle round the tab kitten and no black pill under it; the 나비 tab marks itself with bold ink */
.bnav .tab[data-tab="me"][aria-current="page"]{background:none;color:var(--ink)}
.bnav .tab[data-tab="me"][aria-current="page"] span{font-weight:800}
/* owner 2026-10-30 (again): no grey box behind a kitten */
.room{background:none}
/* owner 2026-10-30: credits once, small, at the very end */
.srcs{margin:28px 20px 12px;font-size:11px;line-height:1.5;color:#A1A1A6;word-break:keep-all}
/* map buttons: smaller, all in one row */
.way .apps,.apps{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none}
.way .appb,.apps .appb{flex:1 1 0;min-width:0;height:36px;padding:0 8px 0 6px;gap:6px;font-size:12.5px;border-radius:12px;justify-content:center;white-space:nowrap}
.way .appb img,.apps .appb img{width:20px;height:20px;border-radius:5px}
.way .appb span,.apps .appb span{overflow:hidden;text-overflow:ellipsis}
/* the screen header sits on white, so text no longer runs under the back button and title (mission list) */
.screen .shead{background:#fff}
/* 나비 tab: the kitten alone, bigger, no label (owner 2026-10-30) */
.bnav .tab[data-tab="me"] span{display:none!important}
.bnav .tab .tcat{width:58px;height:50px}
.bnav .tab .tcat video,.bnav .tab .tcat img{object-fit:cover;object-position:50% 62%;transform:scale(1.15)}
/* list cards keep one shape (owner 2026-10-30: "일정하게"): area · signature dish under every name; the name at most two
   lines (always two lines tall), the line under it one line */
.fcard .tx{display:flex;flex-direction:column;gap:4px}
.fcard b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;min-height:2.6em}
.fcard small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* no square behind the tab kitten: the clip's white ground fades out at its edges */

/* numbers never break across lines (10,000원) */
.nw{white-space:nowrap}
/* food photos look appetising (owner 2026-10-30: "사진들 맛있게 색보정"); a Korea Tourism Organization watermark (bottom right)
   is cropped out by framing the picture a little closer - only photos whose licence allows changes */
img.fgr{filter:saturate(1.14) contrast(1.04) brightness(1.04)}
.ph,.gal figure{overflow:hidden}
img.wm{transform:scale(1.14);transform-origin:12% 10%}
/* Google photo credit on a food card: required with the photo, kept tiny */
.ph{position:relative}.ph .gcr{position:absolute;right:8px;bottom:6px;font-style:normal;font-size:9px;line-height:1;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.6);opacity:.85;pointer-events:none}
/* food cards: every photo fills the same rounded 4:3 frame */
.fcard .ph{display:block;width:100%;aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:#fff}
.fcard .ph img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0}
/* no white circle round the tab kitten (owner 2026-10-30): the bar is solid white, so the clip's white ground melts into it */
.bnav{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
/* desktop: the bottom bar (and the 나비 kitten) always stays (owner 2026-10-30) */
@media (min-width:768px){.bbar.away{transform:none;opacity:1;pointer-events:auto}}
/* desktop web (owner 2026-10-30: "웹은 레이아웃 다 어디다 버리고"): from 1024px the app opens up to a wide page instead of a
   phone-width column - a big lead card, this week in two columns, food in four, wide detail screens with readable text */
@media (min-width:1024px){
 .scr{max-width:1200px;box-shadow:none}
 .scroll{padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}
 .head{padding-left:32px;padding-right:32px}
 .hero{height:440px;max-height:none;margin:8px 0 0}
 .hero .hb{max-width:720px}
 .hero b{font-size:44px;line-height:1.15}
 .tick{margin-left:0;margin-right:0}
 .wpane{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
 .wpane .wrow{border-bottom:1px solid var(--line,#ececf0)}
 .fgrid{grid-template-columns:repeat(4,minmax(0,1fr))!important;display:grid;gap:24px}
 .fgrid .fcard{width:auto;max-width:none}
 .hs{gap:20px}.hs .fcard2{width:360px;max-width:none}
 .mdeck,.mboard,.nlist{max-width:760px}
 .sec{padding-left:0;padding-right:0}
 .bbar{left:50%;right:auto;width:440px;transform:translateX(-50%)}
 .bbar.away{transform:translateX(-50%)}
 .screen .sbody,.screen .shead{max-width:760px;margin-left:auto;margin-right:auto;left:0;right:0}
 .screen .media,.screen .gal,.screen .plg{max-width:760px;margin-left:auto;margin-right:auto}
}
/* wide screens, three columns with one kitten (owner 2026-10-30): left - live issue chart; middle (widest) - the site;
   right - the weather kitten in phone proportions and, under it, sign-in or my kitten */
@media (min-width:1024px){
 html.nh-side{--sideL:min(18vw,260px);--sideR:min(24vw,340px)}
 html.nh-side .intro{display:none!important}
 html.nh-side{overflow:hidden}
 html.nh-side .scr{left:var(--sideL);right:var(--sideR);max-width:none;margin:0;box-shadow:none}
 html.nh-side .scr .scroll{padding-left:36px;padding-right:36px}
 html.nh-side .bbar{left:50%}
 html.nh-side .bnav .tab[data-tab="me"]{display:none}
 html.nh-side .bnav{grid-template-columns:repeat(3,minmax(0,1fr))}
 .side-l,.side-r{position:fixed;top:0;bottom:0;overflow-y:auto;background:#fff;box-sizing:border-box;z-index:2;scrollbar-width:none;font-family:var(--sys);color:var(--ink)}
 .side-l{left:0;width:var(--sideL);border-right:1px solid #EDEDF0;padding:26px 18px 32px}
 .side-r{right:0;width:var(--sideR);border-left:1px solid #EDEDF0;padding:22px 22px 40px}
 .sl-wx{display:flex;align-items:center;gap:10px;margin:0 2px 10px;font-size:13px;color:#86868B}
 .sl-sky{display:inline-flex;align-items:center;gap:5px;color:var(--ink);font-weight:600}.sl-sky svg{width:16px;height:16px}
 .sl-cat{all:unset;position:relative;display:block;width:86%;aspect-ratio:9/16;max-height:46vh;margin:0 auto 14px;cursor:pointer;overflow:hidden;border-radius:0;box-shadow:none}
 .sl-cat video{width:100%;height:100%;object-fit:contain;transform:scale(2.0);transform-origin:52% 58%;mix-blend-mode:multiply;display:block}
 .sl-cat img.wstill{display:block;width:100%;height:100%;object-fit:contain;transform:none;mix-blend-mode:multiply}.wstill[hidden],.sl-cat video[hidden]{display:none}
 .sl-fx{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
 .sl-snow{position:absolute;inset:-20px 0 0;pointer-events:none;background-image:radial-gradient(3px 3px at 20% 10%,#fff 60%,transparent 61%),radial-gradient(2px 2px at 70% 30%,#fff 60%,transparent 61%),radial-gradient(3px 3px at 40% 60%,#fff 60%,transparent 61%),radial-gradient(2px 2px at 85% 80%,#fff 60%,transparent 61%),radial-gradient(2.5px 2.5px at 10% 85%,#fff 60%,transparent 61%);background-size:120px 160px;filter:drop-shadow(0 0 1px rgba(0,0,0,.25));animation:slsnow 9s linear infinite}
 @keyframes slsnow{to{background-position:0 160px,20px 160px,-10px 160px,15px 160px,-20px 160px}}
 @media (prefers-reduced-motion:reduce){.sl-snow{animation:none}}
 .sl-h{display:flex;align-items:center;gap:7px;margin:0 2px 10px;font-size:15px;font-weight:700;letter-spacing:-.02em}
 .sl-h small{margin-left:auto;font-size:11px;font-weight:500;color:#A1A1A6;font-variant-numeric:tabular-nums}
 .sl-live{width:7px;height:7px;border-radius:50%;background:#D2412E;animation:sllive 1.6s ease-in-out infinite}
 @keyframes sllive{50%{opacity:.25;transform:scale(.7)}}
 .sl-hot li{opacity:1}
 .sl-hot li.in{animation:slin .5s cubic-bezier(.2,.8,.25,1) both;animation-delay:calc(var(--i) * 60ms)}
 @keyframes slin{from{opacity:0;transform:translateY(8px)}}
 .sl-hot .tx{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
 .sl-hot .tx b{font-weight:500;font-size:13.5px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:keep-all}
 .sl-hot .tx small{font-size:12px;line-height:1.45;color:#86868B;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease,opacity .4s ease}
 .sl-hot li.fo .tx small,.sl-hot li:hover .tx small{max-height:3.2em;opacity:1}
 .sl-hot li.fo button{background:linear-gradient(90deg,rgba(210,65,46,.06),transparent 70%)}
 .sl-hot a{all:unset;box-sizing:border-box;display:flex;gap:10px;align-items:baseline;width:100%;padding:10px 2px;border-bottom:1px solid #F0F0F2;cursor:pointer}
 .sl-hot li.fo a{background:linear-gradient(90deg,rgba(210,65,46,.06),transparent 70%)}
 .sl-hot .tr{font-style:normal;font-size:11px;color:#A1A1A6}
 .sl-hot .mv{flex:none;font-style:normal;font-size:10.5px;font-weight:700;align-self:flex-start;margin-top:2px}
 .sl-hot .mv.n{color:#D2412E}.sl-hot .mv.u{color:#D2412E}.sl-hot .mv.d{color:#3B6FD8}.sl-hot .mv.s{color:#C7C7CC}
 @media (prefers-reduced-motion:reduce){.sl-live,.sl-hot li.in{animation:none}}
 .sl-hot{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
 .sl-hot button{all:unset;box-sizing:border-box;display:flex;gap:10px;align-items:baseline;width:100%;padding:10px 2px;border-bottom:1px solid #F0F0F2;cursor:pointer}
 .sl-hot .rk{flex:none;width:22px;font-size:14px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
 .sl-hot li:nth-child(-n+3) .rk{color:#D2412E}
 .sl-hot button:hover .tx{text-decoration:underline;text-underline-offset:3px}
 .sm-p{margin:0 0 10px;font-size:13px;line-height:1.5;color:#86868B;word-break:keep-all}
 .sm-btn{all:unset;box-sizing:border-box;display:block;width:100%;padding:13px 0;border-radius:999px;background:#0E0E0F;color:#fff;text-align:center;font-size:14.5px;font-weight:600;cursor:pointer}
 .sm-name{margin:0 2px 8px;font:700 16px/1.3 var(--sys)}
 .sm-outs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .sm-outs button{all:unset;box-sizing:border-box;cursor:pointer;border-radius:14px;padding:4px 2px 6px;text-align:center;box-shadow:0 0 0 1px #EDEDF0}
 .sm-outs button[aria-pressed="true"]{box-shadow:0 0 0 1.5px #0E0E0F}
 .sm-outs img{width:100%;display:block;mix-blend-mode:multiply}.sm-outs span{font-size:11.5px;font-weight:600}
 .sm-row{display:flex;gap:16px;margin-top:10px}
 .sm-link{all:unset;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink)}
 .sl-greet{margin:0 2px 12px;font-size:15px;line-height:1.45;white-space:pre-line;word-break:keep-all;color:var(--ink)}
 .sl-diary{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;margin-top:16px;padding:14px 16px;border-radius:20px;box-shadow:0 0 0 1px #EDEDF0;color:inherit;text-decoration:none}
 .sl-diary b{font-size:14px}.sl-diary span{flex:1 1 100%;order:3;font-size:12.5px;color:#86868B}.sl-diary i{margin-left:auto;font-style:normal;color:#A1A1A6}
 /* the live row under the lead is already the left column on wide screens */
 html.nh-side .tick{display:none}
 /* header (owner 2026-10-30): the logo lives at the top of the left column; the search starts at the lead photo's left
    edge and runs long; the language button ends at its right edge, a little bigger */
 html.nh-side .head{padding-left:36px;padding-right:36px}
 html.nh-side .head>a{display:none}
 html.nh-side .head .hr{flex:1;display:flex;align-items:center;gap:12px}
 html.nh-side #hSearch{order:-1;flex:1;width:auto;max-width:none;height:44px;padding:0 18px;gap:10px;justify-content:flex-start;border-radius:999px;box-shadow:inset 0 0 0 1px #E5E5EA;margin:0}
 html.nh-side #hSearch::after{content:attr(data-ph);font:500 15px/1 var(--sys);color:#86868B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 html.nh-side #menuBtn{font-size:16px;padding:0 0 0 4px;margin-left:4px}
 .sl-logo{display:block;margin:0 2px 22px}.sl-logo img{height:24px;width:auto;display:block}
}
@media (max-width:1023px){.side-me{display:none}}
/* search in the middle of the screen over a blurred page (all widths) */
.spot{position:fixed;inset:0;z-index:2000;background:rgba(255,255,255,.55);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;justify-content:center;align-items:flex-start;padding:calc(env(safe-area-inset-top,0px) + 12vh) 16px 24px;box-sizing:border-box;opacity:0;transition:opacity .18s ease}
.spot.on{opacity:1}
.sp-in{width:min(720px,100%);max-height:76vh;overflow-y:auto;background:#fff;border-radius:26px;box-shadow:0 30px 80px rgba(0,0,0,.18),0 0 0 1px rgba(0,0,0,.05);padding:10px 10px 16px;scrollbar-width:none}
.sp-bar{display:flex;align-items:center;gap:10px;padding:8px 10px 12px;border-bottom:1px solid #F0F0F2}
.sp-bar svg{width:22px;height:22px;flex:none;color:#1D1D1F}
.sp-bar input{all:unset;flex:1;min-width:0;font:500 20px/1.3 var(--sys);color:#1D1D1F}
.sp-x{all:unset;cursor:pointer;font:600 11px/1 var(--sys);color:#86868B;padding:6px 8px;border-radius:8px;box-shadow:inset 0 0 0 1px #E5E5EA}
.sp-go{display:flex;flex-wrap:wrap;gap:6px;padding:12px 8px 4px}
.sp-go a{font:600 13px/1 var(--sys);color:#1D1D1F;text-decoration:none;padding:9px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px #E5E5EA}
.sp-res{padding:4px 2px 0}
/* owner 2026-10-30: the tab kitten always walks — a tight animated image, no clip, no crop or blend tricks */
.bnav .tab .tcat img{position:static;width:100%;height:100%;object-fit:contain;object-position:50% 100%;transform:none;mix-blend-mode:multiply}
/* category menu under the lead (wide screens) */
.catnav{display:none}
@media (min-width:1024px){
 html.nh-side .catnav{display:block;margin:18px 0 6px}
 .cn-row{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px}
 .cn-i{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 4px 10px;border-radius:18px;cursor:pointer;color:var(--ink);text-decoration:none;text-align:center;transition:background .15s}
 .cn-i:hover,.cn-all[aria-expanded="true"]{background:#fff;box-shadow:0 0 0 1px #E5E5EA}
 .cn-i svg{width:26px;height:26px}
 .cn-i span{font:600 12.5px/1.25 var(--sys);word-break:keep-all}
 .cn-all-p{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 24px;margin-top:10px;padding:18px 20px;border-radius:22px;box-shadow:0 0 0 1px #E5E5EA;background:#fff}
 .cn-all-p[hidden]{display:none}
 .cn-all-p p{margin:0 0 6px;font-size:12px;font-weight:700;color:#86868B}
 .cn-all-p a{display:block;padding:8px 0;color:var(--ink);text-decoration:none;border-bottom:1px solid #F2F2F4}
 .cn-all-p a b{display:block;font-size:14px;font-weight:600}.cn-all-p a small{font-size:12px;color:#86868B}
 .cn-all-p a:hover b{text-decoration:underline;text-underline-offset:3px}
}
/* kitten stage: pose layer cross-fades over the walk; floating churu and food at the bottom left */
.cs-pose{position:absolute;z-index:3;opacity:0;pointer-events:none;mix-blend-mode:multiply}
.cs-pose.on{opacity:1}

.cs-treats{position:absolute;z-index:4;left:10px;bottom:12px;display:flex;gap:8px;pointer-events:none}
.intro .cs-treats{left:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 210px)}
.cs-treat{all:unset;pointer-events:auto;cursor:pointer;width:46px;height:46px;display:grid;place-items:center;animation:csfloat 3.2s ease-in-out infinite}
.cs-treat+.cs-treat{animation-duration:3.8s;animation-delay:-1.2s}
.cs-treat img{width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.14))}
.cs-treat.eaten{animation:cseat .6s ease forwards}
.cs-treat[hidden]{display:none}
@keyframes csfloat{50%{transform:translateY(-7px) rotate(-4deg)}}
@keyframes cseat{to{transform:scale(.3) translateY(-20px);opacity:0}}
@media (prefers-reduced-motion:reduce){.cs-treat{animation:none}}
/* web right column: weather words top-aligned with the search row, bigger; greeting on one line, the name below */
@media (min-width:1024px){
 .side-r{padding-top:24px}
 .sl-wx{font-size:15px;margin:0 2px 8px;min-height:44px}
 .sl-sky svg{width:19px;height:19px}.sl-sky b{font-size:16px}
 .sl-greet{display:flex;flex-direction:column;gap:2px;white-space:normal;margin:0 2px 14px}
 .sl-greet b{font-size:17px;font-weight:600;line-height:1.35}
 .sl-greet span{font-size:15px;color:#48484A}
}
/* intro: the kitten clips are wide, the intro frame tall - the pose sits in the frame's middle, a little larger */
.intro .cs-pose{object-fit:contain!important;object-position:50% 50%!important;transform:translateY(8%) scale(1.6)!important;transform-origin:50% 50%!important}
/* bottom-left, just above the live box (owner 2026-10-30) */
.intro .cs-treats{bottom:calc(env(safe-area-inset-bottom,0px) + 168px)}
/* treat counts: on my home only (the web kitten window), never on the intro */
.cs-treat{position:relative}.cs-treat .cs-n{position:absolute;right:-2px;top:-2px;min-width:18px;height:18px;padding:0 4px;box-sizing:border-box;border-radius:9px;background:#0E0E0F;color:#fff;font:700 10.5px/18px var(--sys);text-align:center}
.me-treats{margin:10px 16px 0;font-size:13px;color:#48484A;text-align:center}
/* my room: the kitten's things on white, no boxes */
.props{margin:14px 12px 0}
.pr-h{margin:0 2px 8px;font-size:13px;font-weight:700;color:#48484A}
.pr-row{display:flex;flex-wrap:wrap;gap:10px 14px}
.pr-row figure{margin:0;width:64px;text-align:center}
.pr-row img{width:64px;height:64px;object-fit:contain;display:block}
.pr-row figcaption{margin-top:4px;font-size:11px;color:#86868B;word-break:keep-all}
/* adoption gift: pick one of four colour sets */
.gstw{position:absolute;left:20px;right:20px;bottom:104px;z-index:2}
.gst-h{margin:0 0 8px;font-size:13px;font-weight:600;color:#48484A;text-align:center}
.gst{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.gst button{all:unset;box-sizing:border-box;cursor:pointer;border-radius:16px;padding:8px 4px 6px;text-align:center;background:#fff;box-shadow:0 0 0 1px #E5E5EA}
.gst button[aria-pressed="true"]{box-shadow:0 0 0 2px #0E0E0F}
.gst span{display:flex;align-items:flex-end;justify-content:center;gap:2px;height:52px}
.gst span img:first-child{height:50px;width:auto}.gst span img+img{height:26px;width:auto}
.gst b{display:block;margin-top:4px;font-size:11.5px;font-weight:600}
/* sign-in buttons: Naver's mark in Naver green */
.nh-auth-social-btn[data-nh-provider="naver"] .nh-auth-social-mark{color:#03C75A;font-weight:900}

/* app buttons (owner 2026-10-30: "앱 버튼 이상해"): map and calendar buttons are plain white with one thin line - no shadow
   to be cut off by the row, and no one app picked out in black */
.apps .appb,.apps .appb.pri,.way .appb,.way .appb.pri,.calrow a,.cta2.ghost,.cta2.book{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px #E5E5EA;-webkit-backdrop-filter:none;backdrop-filter:none}
.ac .apps .appb.pri{background:var(--ink);color:#fff;box-shadow:none}
/* sideways rows on a computer: ‹ › at the height of the pictures, dragging with the mouse */
.hsw{position:relative}
.hsb{all:unset;box-sizing:border-box;position:absolute;z-index:3;top:var(--hy,40%);width:40px;height:40px;margin-top:-20px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:rgba(255,255,255,.94);color:#1D1D1F;box-shadow:0 2px 10px rgba(0,0,0,.14),inset 0 0 0 .5px rgba(0,0,0,.06);opacity:0;transition:opacity .2s,transform .2s}
.hsb svg{width:20px;height:20px}.hsb.l{left:6px}.hsb.r{right:6px}.hsb[hidden]{display:none}
.hsw:hover .hsb{opacity:1}.hsb:hover{transform:scale(1.06)}.hsb:focus-visible{opacity:1;outline:2px solid #1D1D1F}
.hs,.gal,.pls,.qchips,.segs,.wtabs,.sugg,.apps{cursor:grab}
.drag{cursor:grabbing!important;user-select:none}.drag *{pointer-events:none}
/* a trend, opened here */
.tnews{padding:4px 20px}
.tn{padding:16px 0;border-top:1px solid #F0F0F2}.tn:first-child{border-top:0}
.tn b{display:block;font-size:16px;line-height:1.45;font-weight:600;word-break:keep-all}
.tn p{margin:6px 0 0;font-size:14px;line-height:1.6;color:#515154;word-break:keep-all}
.srcs a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.way .appb,.apps.maps .appb,.way .appb.pri{height:46px;border-radius:999px;font-size:13.5px}

/* cat mission (owner 2026-10-30): the biggest card in missions */
.cms{margin:14px 0 22px;padding:24px 22px 22px;border-radius:28px;background:#fff;box-shadow:inset 0 0 0 1px #E5E5EA;display:flex;flex-direction:column;gap:12px}
.sbody>.cms{margin:8px 16px 20px}
.cms-k{margin:0;font:700 12px/1 var(--sys);letter-spacing:.06em;color:#86868B}
.cms h3{margin:0;font-size:26px;line-height:1.25;font-weight:700;letter-spacing:-.03em;word-break:keep-all;color:#1D1D1F}
.cms-s{margin:0;font-size:15px;line-height:1.6;color:#515154;word-break:keep-all}
.cms-it{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:20px;background:#F5F5F7}
.cms-it img{width:76px;height:76px;object-fit:contain;flex:none}
.cms-it span{display:flex;flex-direction:column;gap:3px;min-width:0}
.cms-it small{font-size:12px;color:#86868B;font-weight:600}.cms-it b{font-size:18px;color:#1D1D1F}.cms-it em{font-style:normal;font-size:12.5px;color:#86868B}
.cms-go{all:unset;box-sizing:border-box;width:100%;height:54px;border-radius:999px;background:#1D1D1F;color:#fff;display:flex;align-items:center;justify-content:center;font:700 16px/1 var(--sys);cursor:pointer;text-align:center}
.cms-go.done{background:#fff;color:#1D1D1F;box-shadow:inset 0 0 0 1px #E5E5EA}
.cms-go[disabled]{opacity:.35;cursor:default}
.cmp{margin:8px 16px 24px;display:flex;flex-direction:column;gap:14px}
.cmp-kind{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cmp-kind button{all:unset;box-sizing:border-box;height:46px;border-radius:999px;display:flex;align-items:center;justify-content:center;font:600 14.5px/1 var(--sys);background:#fff;color:#1D1D1F;box-shadow:inset 0 0 0 1px #E5E5EA;cursor:pointer}
.cmp-kind button[aria-checked="true"]{background:#1D1D1F;color:#fff;box-shadow:none}
.cmp-pick{display:block;cursor:pointer;border-radius:24px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1.5px #D2D2D7}
.cmp-pick span.cmp-ph{height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.cmp-pick span.cmp-ph b{font-size:16px;color:#1D1D1F}.cmp-pick span.cmp-ph small{font-size:13px;color:#86868B}
.cmp-pick img.cmp-ph,.cmp-pick video.cmp-ph{display:block;width:100%;max-height:420px;object-fit:cover}
.cmp-pick.has{box-shadow:none}
.cmp-line{all:unset;box-sizing:border-box;width:100%;height:50px;padding:0 18px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px #E5E5EA;font:500 15px/1 var(--sys);color:#1D1D1F}
.cmp-priv{margin:0;text-align:center;font-size:12px;color:#86868B}
.cmp-it{width:140px;height:140px;object-fit:contain;align-self:center;margin-top:16px}
.cmp-h{margin:0;text-align:center;font-size:22px;font-weight:700;color:#1D1D1F;word-break:keep-all}
.cmp-s{margin:0 0 8px;text-align:center;font-size:15px;line-height:1.6;color:#515154;word-break:keep-all}

.tdesc{margin:16px 20px 4px;font-size:17px;line-height:1.7;color:#1D1D1F;word-break:keep-all}
.tload{display:flex;flex-direction:column;gap:10px}.tload i{display:block;height:14px;border-radius:7px;background:linear-gradient(90deg,#F2F2F4,#E8E8EB,#F2F2F4);background-size:200% 100%;animation:tl 1.2s linear infinite}.tload i:last-child{width:60%}
@keyframes tl{to{background-position:-200% 0}}
/* open screens are a little see-through (owner 2026-10-30: "창은 약간 오파시티값") */
.screen,.screen .shead{background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6)}
/* the trend picture is a strip, not a poster (owner 2026-10-30: "사진 너무 커 / 세로 폭 줄여줘") */
.media.tpic img{aspect-ratio:auto;height:clamp(180px,26vw,300px);width:100%;object-fit:cover;object-position:50% 28%}
/* the issue in English, white, on the picture (owner 2026-10-30) */
.entag{position:relative}
.entag::after{content:"";position:absolute;left:0;right:0;top:0;bottom:0;border-radius:22px;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.5));pointer-events:none;z-index:1}
.gal .entag::after{border-radius:18px}
.entag figcaption{display:none}
.tpic-en{z-index:2}
.tpic-en{position:absolute;z-index:1;left:22px;right:22px;bottom:18px;color:#fff;font:700 clamp(20px,2.2vw,28px)/1.2 var(--sys);letter-spacing:-.02em;text-wrap:balance;text-shadow:0 1px 12px rgba(0,0,0,.25)}
/* pictures on top of a detail are shorter on a computer (owner 2026-10-30: "사진 너무 커 / 세로 폭 줄여줘 … 전체 공통") */
html.nh-side .screen .media img:not(.whole),html.nh-side .screen .media video,html.nh-side .screen .gal img:not(.whole),html.nh-side .screen .pls img:not(.whole){aspect-ratio:auto;height:clamp(200px,24vw,320px);width:100%;object-fit:cover}
.entag .tpic-en{z-index:2}
/* no shade on the picture and no text shadow (owner 2026-10-30: "그림자 처리 빼줘") */
.entag::after{content:none}
.tpic-en{text-shadow:none}

/* live chart rows: a small picture when the trend has a free one; titles end within two lines */
.side-l .sl-hot button{position:relative}
.sl-th{position:absolute;right:0;bottom:10px;width:44px;height:44px;border-radius:10px;object-fit:cover}
.side-l .sl-hot li:has(.sl-th) .tx{padding-right:52px}
.side-l .sl-hot .tx b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tr-th{width:48px;height:48px;border-radius:10px;object-fit:cover;flex:none}
/* no words on pictures (owner 2026-10-30, via the character team: "사진에 글자 다 삭제") - dates, places, credits and titles
   sit under the picture */
.tpic-en,.entag::after{display:none}
.fcard2 .tx{display:flex;flex-direction:column;gap:4px;padding:0 2px}
.fcard2 .tx small{font-size:13px;font-weight:500;color:#6E6E73;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fcard2 .tx .fd{font:inherit;color:inherit;position:static}
/* the lead video keeps its words on it (owner 2026-10-30: "메인 영상에 왜 글자들은 다 어디감?") */
.ph .gcr,.fcard .gcr,.gcr{position:static;display:block;font-style:normal;font-size:10.5px;line-height:1.3;color:#A1A1A6;text-shadow:none;opacity:1;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* the shop name and its area line sit together (owner 2026-10-30: "가게 이름과 위치 간격 좁혀") */
.fcard b,.fgrid b{min-height:0}
.fcard .tx,.fgrid .tx{gap:3px}
.fgrid{align-items:start}
/* computer: no phone bottom bar; its places are an icon row in the left column */
html.nh-side .bbar{display:none!important}
.sl-nav{display:flex;gap:6px;margin:6px 0 18px}
.sl-nav button{all:unset;box-sizing:border-box;flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:14px;cursor:pointer;font:600 11.5px/1 var(--sys);color:#1D1D1F}
.sl-nav button:hover{background:#F5F5F7}
.sl-nav svg{width:20px;height:20px}
.sl-nav .plus{display:grid;place-items:center}
/* web (owner 2026-10-31): the search bar's top lines up with the NOW logo's top (26px), and detail pictures, the gallery,
   the why box and the facts card share one width ("사진 크기 전체 공통 텍스트 박스 가로사이즈에 맞게 조정") */
@media (min-width:1024px){
 html.nh-side .head .hr{margin-top:12px}
 html.nh-side .head{height:auto;min-height:76px}
 .screen .sbody>:is(.media,.gal,.why2,.facts,.plg,.acts){margin-left:16px!important;margin-right:16px!important;max-width:none!important} /* the same 16px as the place pages' text boxes (owner 2026-10-31: "이미지 사이즈 다 수정") */
 .screen .sbody>.gal{padding:0}.screen .sbody>.gal figure{flex-basis:100%}
}
/* the search bar came down 12px to the logo line, so the page below starts 12px lower too (the lead card's top was under the bar) */
@media (min-width:1024px){html.nh-side .scroll{padding-top:calc(env(safe-area-inset-top,0px) + 76px)}}
/* the search bar came down 12px to the logo line, so the page starts 12px lower too (the lead card's top was under the bar) */
@media (min-width:1024px){html.nh-side .scroll{padding-top:calc(env(safe-area-inset-top,0px) + 76px)}}
/* phone trend list rows: the picture at the left (owner 2026-10-31) */
.row .rth{flex:none;width:52px;height:52px;border-radius:12px;object-fit:cover;margin-right:4px}
/* computer: a live trend opens as a drawer half the middle column wide, sliding out from the trend list's edge */
@media (min-width:1024px){
 html.nh-side .screen.drw{right:auto;width:50%;transform:translateX(-101%);border-right:1px solid #EDEDF0;box-shadow:16px 0 36px -24px rgba(0,0,0,.28);transition:transform .42s cubic-bezier(.2,.85,.25,1)}
 html.nh-side .screen.drw.in{transform:none}
 html.nh-side .screen.drw .sbody,html.nh-side .screen.drw .shead{max-width:none}
 html.nh-side .screen.drw .sbody>:is(.media,.gal,.why2,.facts,.plg,.acts){margin-left:20px!important;margin-right:20px!important}
}
@media (prefers-reduced-motion:reduce){html.nh-side .screen.drw{transition:none}}
/* the trend drawer is solid white, no see-through or blur (owner 2026-10-31: "오파시티 값은 주지말고") */
html.nh-side .screen.drw,html.nh-side .screen.drw .shead{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;opacity:1}
/* the drawer has no see-through parts at all: no blurred top strip, a plain white back button (owner 2026-10-31: "투명도가 들어간게 있고 안들어간게 있고") */
html.nh-side .screen.drw .sedge{display:none}
html.nh-side .screen.drw .back{background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:0 0 0 1px #E5E5EA!important}
html.nh-side .screen.drw .facts,html.nh-side .screen.drw .why2{box-shadow:none;background:#fff;border:1px solid #EDEDF0}

/* every photo fills its box - no white or grey gap around a picture, in every language (owner 2026-10-31: "썸네일 여백 안생기게 다 수정 한영일 다"); a watermark in a corner is pushed out by a slight zoom */
.media img.whole,.gal img.whole,.pls img.whole,.fcard img.whole,img.food-ph,img.food-ph.whole,.fth,.fth.whole,.sq.whole img,.fgrid .ph img,.plnear img,.plg img,body.nh-a-page .nh-a-sth.nh-a-ct img{object-fit:cover!important;background:none!important;padding:0!important}
.sq.whole,.fgrid .ph{background:none!important}
img.wm,.gal img.wm,.plg img.wm{transform:scale(1.12);transform-origin:40% 40%}

.feedc img.wstill{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:none;mix-blend-mode:multiply;pointer-events:none}.feedc.eat img.wstill{transform:none}.feedc video[hidden],.feedc img.wstill[hidden]{display:none}
/* a member's own kitten in the intro: its walk clip is 16:9, so it takes the wide box instead of the tall one made for the black cat's story */
.intro.i2.ip.mycat video{width:150%;margin-left:-75%;aspect-ratio:16/9;top:calc(50% - 20vw)}

/* winter coat: the still stands where the walking kitten stands and takes small steps (owner 2026-10-31 "커지고 안움직여") */
@keyframes wstep{0%,100%{translate:0 0}50%{translate:-2px -3px}}
img.wstill:not([hidden]),.wr-touch img.wwalk{animation:wstep .9s ease-in-out infinite}
.wr-touch img.wwalk{animation:wstep .9s ease-in-out infinite!important}
@media (prefers-reduced-motion:reduce){img.wstill,.wr-touch img.wwalk{animation:none!important}}
.sl-cat img.wstill{object-fit:contain;transform:scale(2.0);transform-origin:52% 58%}
.feedc img.wstill{object-fit:cover;transform:translate(8%,-24%) scale(1.6)}
/* Opaque white, no blur (owner 2026-10-31: "고양이 주변에 화이트 박스 다 지워줘", "회색·반투명(흐림) 층"). Every screen and bar is solid white;
   the kitten art (white-ground webp/mp4) is multiplied onto a solid white cell, so no white square can show on any ground. */
:root{--glass:#fff;--card:#fff;--paper:#fff}
.screen,.screen .shead,.shead,.sedge,.edge,.bsearch,.bnav,.spot,.a2s .glass,.wr-bub,.icard,.intro.i2 .icard,.feedc,.ienter,.ecard em,.shead .lg,.back.lg,.lg,.media .play,.hk{background-image:none}
.screen,.screen .shead,.shead,.bsearch,.bnav,.spot,.a2s .glass,.wr-bub,.intro.i2 .icard,.icard,.feedc,.shead .lg,.back.lg,.ecard em{background-color:#fff}
.sedge,.edge{background:#fff;-webkit-mask:none;mask:none;display:none}
*,*::before,*::after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.cms-it{background:#fff;box-shadow:inset 0 0 0 1px #E5E5EA}
.room,.sl-cat,.tcat,.sm-outs button,.a2s .stage,.adopt .stage,.wardrobe,.wd,.propc,.cmp,.cmp-stage{background:#fff}
img[src*="/assets/app/cats/"]:not([src*="rain-window"]):not([src*="leaves"]),video[src*="/assets/app/cats/"],#ivid,#slV,.sl-cat video,.sl-cat .wstill,.room img,#tcat,.tcat img,.icat video,.icat img{mix-blend-mode:multiply}
.pl{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}
.pl-n{all:unset;box-sizing:border-box;cursor:pointer;color:inherit;font:inherit;text-decoration:underline dotted;text-underline-offset:3px}
.pl-n:focus-visible,.pl-go:focus-visible{outline:2px solid #1D1D1F;outline-offset:2px}
.pl-a{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px}
.pl-a[hidden]{display:none!important}
.pl-go{all:unset;box-sizing:border-box;cursor:pointer;height:28px;padding:0 12px;border-radius:999px;background:#fff;color:#1D1D1F;font:600 12.5px/28px var(--sys,system-ui);box-shadow:inset 0 0 0 1px #1D1D1F}
.pl-go:disabled{opacity:1;color:#48484A}
.pl-m{font-size:12.5px;color:#48484A}
/* the chosen kitten on the phone intro (owner 2026-10-31: "위치도 이상해", "새끼인데 좀 작게"): feet on the same ground as the
   grown black cat of the story clip, and a kitten's size - about three quarters of it */
.intro.i2.ip.mycat video,.intro.i2.ip.mycat img.ivalt{transform:translateY(calc(55px - 33.5vw)) scale(.7)!important;transform-origin:49.7% 85.8%}
/* story video: top 50% + 55px - 48.9vw, its cat's feet 67.8vw lower; kitten clip: top 50% - 20vw, feet 72.4vw lower -> move by 55px - 33.5vw */
/* the pose layer over the chosen kitten sits exactly on its walk (same move and size as the walk clip) */
.intro.i2.ip.mycat .cs-pose{object-position:50% 50%!important;transform:translateY(calc(55px - 33.5vw)) scale(.7)!important;transform-origin:49.7% 85.8%!important}
/* mission deck (owner 2026-10-31 screenshot): no light-grey back card, and the kitten on top is its own cut-out picture -
   never multiplied into the black card (that blackened its body) and no white square or shadow box around it */
.mb1{background:#000}.mb2{background:#2C2C2E}
.mdeck .mcat{mix-blend-mode:normal!important;background:none!important;filter:none!important;box-shadow:none!important;top:-62px;z-index:2}
/* owner 2026-10-31: "카드에는 고양이 빼자" - no kitten on the mission card */
.mdeck .mcat{display:none!important}

/* Shared server-provided trend movement on mobile and desktop. */
.tick .mv,.iroll .mv,[data-trend-list] .mv{flex:none;font-style:normal;font-size:10.5px;font-weight:700}.mv.n,.mv.u{color:#D2412E}.mv.d{color:#3B6FD8}.mv.s{color:#777}.trend-meta{margin:6px 20px;font-size:11px;color:var(--ink3)}.gt-badge{flex:none;font-size:10px;color:var(--ink3)}

/* header weather icon (owner 2026-11-01): the same line icon and temperature as the right column; opens the start screen */
.hwx{box-sizing:border-box;display:inline-flex;align-items:center;gap:4px;height:40px;padding:0 8px;color:var(--ink,#1D1D1F);text-decoration:none;font:600 14px/1 var(--sys,-apple-system,sans-serif);cursor:pointer;border-radius:20px;-webkit-tap-highlight-color:transparent}
.hwx svg{width:21px;height:21px;flex:none}
.hwx b{font-weight:600;font-variant-numeric:tabular-nums;min-width:0}
.hwx b:empty{display:none}
.hwx:focus-visible{outline:2px solid var(--ink,#1D1D1F);outline-offset:2px}
/* nothing inside a place's detail is wider than the screen (iPhone: the whole body slid sideways under the finger): the rails keep their own sideways scroll, everything else is clipped to the screen */
.pl{overflow-x:clip;max-width:100%;min-width:0}
.pl>*{min-width:0;max-width:100%}
.plnear,.plnear .hsw{min-width:0;max-width:100%;overflow-x:clip}
.sbody{overflow-x:hidden;overscroll-behavior-x:none}
.hs,.pls,.plgo-m{touch-action:pan-x pan-y;overscroll-behavior-x:contain}
.plgo-m{flex-wrap:wrap}

/* lotto draw in a live issue's detail: round balls in the draw's colours on one line, bonus after '+' */
.lotto{margin:14px 20px 4px}
.lotto .lh{margin:0 0 8px;font-size:12.5px;color:#86868B;font-variant-numeric:tabular-nums}
.lb-row{display:flex;align-items:center;gap:5px;white-space:nowrap}
.lb{flex:1 1 0;max-width:46px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font:700 clamp(13px,4.2vw,17px)/1 var(--sys);font-variant-numeric:tabular-nums;color:#fff;box-sizing:border-box}
.lb.y{background:#F2B705;color:#1D1D1F}.lb.b{background:#4DA6E0}.lb.r{background:#EB5757}.lb.g{background:#8E8E93}.lb.n{background:#4FB35A}
.lb.bn{box-shadow:0 0 0 2px #fff,0 0 0 3px #D1D1D6}
.lp{flex:none;font-style:normal;font:600 18px/1 var(--sys);color:#86868B;padding:0 1px}
.lotto .lw{margin:10px 0 0;font-size:15px;font-weight:600;color:#1D1D1F}
/* computer: the 'coming up' title spans both columns, so the cards after it fill left, right, left, right (no empty cell beside it) */
@media (min-width:1024px){.wpane .wsoon,.wpane .wnone{grid-column:1/-1}}
