/* Show This in Seoul — MVP styles. Mobile first (360–430px). No build step. */
@font-face{font-family:"STS";src:url(fonts/Pretendard-Regular.subset.woff2) format("woff2"),url(fonts/Pretendard-Regular.otf) format("opentype");font-weight:400;font-display:swap}
@font-face{font-family:"STS";src:url(fonts/Pretendard-SemiBold.subset.woff2) format("woff2"),url(fonts/Pretendard-SemiBold.otf) format("opentype");font-weight:600;font-display:swap}
@font-face{font-family:"STS";src:url(fonts/Pretendard-ExtraBold.subset.woff2) format("woff2"),url(fonts/Pretendard-ExtraBold.otf) format("opentype");font-weight:800;font-display:swap}
@font-face{font-family:"STS";src:url(fonts/Pretendard-Black.subset.woff2) format("woff2"),url(fonts/Pretendard-Black.otf) format("opentype");font-weight:900;font-display:swap}

:root{
  --ink:#121417; --paper:#FAF7F2; --brand:#FF5A36; --x:#E5484D; --o:#1F9D6B;
  --bg:var(--paper); --fg:var(--ink); --muted:#5B616B; --line:#E6E1D8; --surface:#FFFFFF;
  --brand-text:#C2330F; /* coral darkened for small text on paper (AA) */
  --radius:16px;
  --font:"STS",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;
  color-scheme:light dark;
}
@media (prefers-color-scheme:dark){
  :root{--bg:#121417;--fg:#F3EFE8;--muted:#A9AFB8;--line:#2A2E35;--surface:#1B1E23;--brand-text:#FF8A6E}
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:400 17px/1.55 var(--font);min-height:100vh;display:flex;flex-direction:column}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:6px}
.wrap{width:100%;max-width:560px;margin:0 auto;padding:0 18px}
.skip{position:absolute;left:-999px}
.skip:focus{left:12px;top:12px;background:var(--surface);padding:10px 14px;z-index:99}

/* header */
.top{border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;min-height:56px}
.tag{display:inline-block;font:800 13px/1 var(--font);letter-spacing:.06em;background:var(--ink);color:#fff;padding:8px 10px;border-radius:8px;text-decoration:none}
@media (prefers-color-scheme:dark){.tag{background:#F3EFE8;color:var(--ink)}}
.back{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;font-weight:600;color:var(--muted);text-decoration:none}

main{flex:1;padding:22px 0 32px}
h1{font:900 30px/1.15 var(--font);letter-spacing:-.02em;margin:6px 0 10px}
h2{font:800 21px/1.25 var(--font);margin:30px 0 10px;letter-spacing:-.01em}
h3{font:800 18px/1.3 var(--font);margin:0}
p{margin:0 0 12px}
.lead{font-size:18px;color:var(--muted)}
.muted{color:var(--muted)}
.small{font-size:15px}
.em{color:var(--brand-text);font-weight:800}

/* home */
.hero{padding:10px 0 6px}
.hero h1{font-size:36px}
.hero h1 .accent{background:var(--brand);color:#fff;padding:0 8px;border-radius:8px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.big-btns{display:grid;gap:12px;margin:22px 0}
.big-btn{display:flex;flex-direction:column;justify-content:center;min-height:88px;padding:16px 18px;border-radius:var(--radius);background:var(--surface);border:1.5px solid var(--line);text-decoration:none;color:var(--fg)}
.big-btn strong{font:800 21px/1.2 var(--font)}
.big-btn span{font-size:15px;color:var(--muted);margin-top:4px}
.big-btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}
.big-btn.primary span{color:#C9CDD3}
@media (prefers-color-scheme:dark){.big-btn.primary{background:#F3EFE8;border-color:#F3EFE8;color:var(--ink)}.big-btn.primary span{color:#4A4F57}}
.soon{border:1.5px dashed var(--line);border-radius:var(--radius);padding:14px 16px;color:var(--muted);font-size:15px}
.soon b{color:var(--fg)}

/* checklist */
.progress{display:flex;align-items:center;gap:12px;margin:14px 0 18px}
.bar{flex:1;height:10px;border-radius:6px;background:var(--line);overflow:hidden}
.bar i{display:block;height:100%;width:0;background:var(--o);transition:width .25s}
.count{font-weight:800;font-variant-numeric:tabular-nums}
.items{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.item{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);padding:14px 14px 10px}
.item.done{border-color:var(--o)}
.item-head{display:flex;gap:12px;align-items:flex-start}
.check{position:relative;flex:0 0 44px;width:44px;height:44px;margin:-4px 0 0 -4px}
.check input{position:absolute;inset:0;z-index:1;opacity:0;margin:0;cursor:pointer;width:44px;height:44px}
.check span{position:absolute;inset:7px;pointer-events:none;border-radius:9px;border:2.5px solid var(--muted);display:flex;align-items:center;justify-content:center}
.check input:checked + span{background:var(--o);border-color:var(--o)}
.check input:checked + span::after{content:"";width:9px;height:16px;border:solid #fff;border-width:0 3px 3px 0;transform:translateY(-2px) rotate(45deg)}
.check input:focus-visible + span{outline:3px solid var(--brand);outline-offset:2px}
.item-body{flex:1;min-width:0}
.item-body label{cursor:pointer}
.item-body p{margin:4px 0 0;color:var(--muted);font-size:16px}
details{margin-top:8px;border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:800}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";margin-left:auto;font-size:22px;color:var(--muted)}
details[open] summary::after{content:"\2212"}
ol.steps{margin:0 0 10px;padding-left:22px}
ol.steps li{margin:6px 0}
.note{font-size:14px;color:var(--muted);margin:4px 0 10px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;border:1.5px solid var(--fg);background:transparent;color:var(--fg);font:800 16px var(--font);text-decoration:none;cursor:pointer}
.btn.solid{background:var(--ink);color:#fff;border-color:var(--ink)}
@media (prefers-color-scheme:dark){.btn.solid{background:#F3EFE8;color:var(--ink);border-color:#F3EFE8}}
.btn-row{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 10px}
.reset{margin-top:16px}

/* cards */
.tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;margin:0 -18px;padding-left:18px;padding-right:18px;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:0 0 auto;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--fg);font:800 16px var(--font);cursor:pointer}
.tab[aria-selected="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
@media (prefers-color-scheme:dark){.tab[aria-selected="true"]{background:#F3EFE8;color:var(--ink);border-color:#F3EFE8}}
.hint{font-size:15px;color:var(--muted);margin:6px 0 12px}

.show{background:#FAF7F2;color:#121417;border-radius:24px;overflow:hidden;border:1.5px solid #E6E1D8;display:flex;flex-direction:column;min-height:320px;cursor:pointer;width:100%;text-align:left;font:inherit;padding:0}
.show .band{background:var(--brand);color:#fff;font:800 15px/1.2 var(--font);letter-spacing:.04em;padding:14px 20px}
.show .band small{display:block;font:600 13px var(--font);opacity:.95;margin-top:2px;letter-spacing:0}
.show .ko{font:900 46px/1.15 var(--font);letter-spacing:-.02em;padding:26px 20px 0;word-break:keep-all;overflow-wrap:anywhere}
.show .ko.addr{font-size:32px;font-weight:800;line-height:1.3}
.show .ko.addr + .rom{color:#121417;font-weight:800}
.show .rom{font:600 18px/1.4 var(--font);color:#5B616B;padding:12px 20px 0}
.show .en{font:600 20px/1.4 var(--font);color:#2B2F36;padding:12px 20px 0}
.show .foot{margin-top:auto;border-top:1.5px solid #E6E1D8;padding:12px 20px;font:600 14px var(--font);color:#5B616B;display:flex;justify-content:space-between}
.pager[hidden]{display:none}
.pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0}
.pager .btn{min-width:96px}
.pager .pos{font-weight:800;font-variant-numeric:tabular-nums}

.addr-box{background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);padding:14px;margin:4px 0 14px}
.addr-box label{font-weight:800;display:block;margin-bottom:6px}
.addr-box textarea{width:100%;min-height:76px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);color:var(--fg);font:400 18px/1.4 var(--font);padding:10px 12px;resize:vertical}
.addr-box .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.saved-msg{font-size:14px;color:var(--o);font-weight:700;min-height:20px;margin-top:6px}

.help{margin-top:20px;border-left:4px solid var(--x);padding:6px 0 6px 12px;font-size:16px}
.help a{font-weight:800}

/* fullscreen show mode */
.fs{position:fixed;inset:0;z-index:50;background:#FFFFFF;color:#000;display:none;flex-direction:column;touch-action:pan-y}
.fs.on{display:flex}
.fs .fs-top{display:flex;justify-content:space-between;align-items:center;padding:max(10px,env(safe-area-inset-top)) 12px 6px;color:#333;font:800 15px var(--font)}
.fs .fs-close{min-height:48px;min-width:48px;padding:0 16px;border-radius:12px;border:2px solid #000;background:#fff;color:#000;font:800 16px var(--font);cursor:pointer}
.fs .fs-main{flex:1;display:flex;flex-direction:column;justify-content:center;padding:12px 22px;overflow:auto}
.fs .fs-ko{font:900 clamp(44px,13vw,96px)/1.12 var(--font);letter-spacing:-.02em;word-break:keep-all;overflow-wrap:anywhere;color:#000}
.fs .fs-ko.addr{font-size:clamp(30px,8.5vw,60px);font-weight:800;line-height:1.3}
.fs .fs-rom{font:600 clamp(18px,5vw,26px)/1.4 var(--font);color:#333;margin-top:16px}
.fs .fs-en{font:600 clamp(18px,5vw,26px)/1.4 var(--font);color:#333;margin-top:6px}
.fs .fs-nav{display:flex;gap:10px;padding:10px 12px max(14px,env(safe-area-inset-bottom))}
.fs .fs-nav button{flex:1;min-height:56px;border-radius:14px;border:2px solid #000;background:#fff;color:#000;font:800 18px var(--font);cursor:pointer}
.fs .fs-nav .mid{flex:0 0 auto;align-self:center;font:800 16px var(--font);color:#333;font-variant-numeric:tabular-nums;min-width:56px;text-align:center}
body.fs-open{overflow:hidden}

/* naver guide */
.fig{margin:14px 0 18px;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);overflow:hidden}
.fig img{width:100%}
.fig.narrow img{max-width:300px;margin:0 auto}
.fig figcaption{padding:10px 14px;font-size:14px;color:var(--muted);border-top:1px solid var(--line)}
.path{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 14px}
.path b{background:var(--surface);border:1.5px solid var(--line);border-radius:10px;padding:8px 12px;font-weight:800}
.path i{font-style:normal;color:var(--muted)}
.unverified{display:inline-block;font:800 12px/1 var(--font);letter-spacing:.04em;color:var(--muted);border:1.5px solid var(--line);border-radius:6px;padding:4px 6px;vertical-align:middle;margin-left:4px}
.ok{display:inline-block;font:800 12px/1 var(--font);letter-spacing:.04em;color:#fff;background:var(--o);border-radius:6px;padding:4px 6px;vertical-align:middle;margin-left:4px}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.vs div{border-radius:14px;padding:12px;border:1.5px solid var(--line);background:var(--surface);font-size:15px}
.vs .bad{border-color:var(--x)}
.vs .good{border-color:var(--o)}
.vs strong{display:block;font-size:16px;margin-bottom:4px}

/* footer */
.foot-site{border-top:1px solid var(--line);padding:18px 0 28px;font-size:14px;color:var(--muted)}
.foot-site p{margin:0 0 4px}

.fs .fs-ko.addr + .fs-rom{color:#000;font-weight:800}

/* ===== app shell: bottom tab bar (phone first) ===== */
body.has-tabbar{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--bg);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr)}
.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;border-radius:12px;text-decoration:none;color:var(--muted);font:700 12px/1.1 var(--font)}
.tabbar a svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tabbar a[aria-current="page"]{color:var(--fg)}
.tabbar a[aria-current="page"] svg{stroke:var(--brand)}
.tabbar a:active{background:var(--surface)}
@media (min-width:700px){.tabbar{max-width:560px;margin:0 auto;border:1px solid var(--line);border-bottom:0;border-radius:16px 16px 0 0}}
body.fs-open .tabbar{display:none}

/* ===== planner ===== */
.step{margin:22px 0}
.step-h{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
.step-h b{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--fg);color:var(--bg);font:800 14px var(--font);flex:0 0 28px}
.step-h h2{margin:0;font-size:19px}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.choices.three{grid-template-columns:repeat(3,1fr)}
.choice{position:relative}
.choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.choice span{display:flex;flex-direction:column;justify-content:center;min-height:64px;padding:10px 12px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);font:800 16px/1.2 var(--font)}
.choice span small{font:600 13px/1.3 var(--font);color:var(--muted);margin-top:3px}
.choice input:checked + span{border-color:var(--fg);box-shadow:inset 0 0 0 1.5px var(--fg)}
.choice input:focus-visible + span{outline:3px solid var(--brand);outline-offset:2px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips .choice span{min-height:44px;padding:0 16px;border-radius:999px;flex-direction:row;align-items:center}
.cta{position:sticky;bottom:calc(76px + env(safe-area-inset-bottom));z-index:5;width:100%;min-height:56px;border-radius:16px;border:0;background:var(--brand);color:#fff;font:900 18px var(--font);cursor:pointer;margin-top:8px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.cta:active{transform:translateY(1px)}

.day{margin:18px 0 26px}
.day-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.day-h h2{margin:0;font-size:21px}
.day-h .theme{font:700 14px var(--font);color:var(--muted)}
.stops{list-style:none;margin:0;padding:0;position:relative}
.stops::before{content:"";position:absolute;left:15px;top:18px;bottom:18px;width:2px;background:var(--line)}
.stop{position:relative;display:grid;grid-template-columns:32px 1fr;gap:12px;padding:8px 0}
.stop .dot{position:relative;z-index:1;width:32px;height:32px;border-radius:50%;background:var(--surface);border:2px solid var(--fg);display:flex;align-items:center;justify-content:center;font:800 14px var(--font)}
.stop .card{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:12px 14px;min-width:0}
.stop h3{font-size:17px}
.stop .ko{font:600 14px var(--font);color:var(--muted);margin-left:6px}
.stop p{margin:4px 0 0;font-size:15px;color:var(--muted)}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.badge{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;font:800 12px/1 var(--font);border:1.5px solid var(--line);color:var(--fg)}
.badge.warn{border-color:var(--x);color:var(--x)}
.badge.good{border-color:var(--o);color:var(--o)}
.tip{margin-top:8px;font-size:14px;border-left:3px solid var(--brand);padding-left:8px}
.go{display:flex;gap:8px;margin-top:10px}
.go a{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:12px;border:1.5px solid var(--fg);text-decoration:none;font:800 15px var(--font);color:var(--fg)}
.go a.n{background:#03C75A;border-color:#03C75A;color:#fff}

.mail{background:var(--surface);border:1.5px solid var(--line);border-radius:18px;padding:16px;margin:24px 0}
.mail h2{margin:0 0 6px;font-size:19px}
.mail form{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.mail input[type=email]{min-height:52px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);color:var(--fg);font:400 17px var(--font);padding:0 14px}
.mail .btn.solid{min-height:52px}
.mail .msg{font-size:14px;min-height:20px}

/* ===== tiers ===== */
.tier-switch{display:flex;gap:8px;margin:12px 0 4px;padding:0}
.crit{margin:10px 0 16px;padding:0;list-style:none;display:grid;gap:6px;counter-reset:c}
.crit li{counter-increment:c;font-size:15px;color:var(--muted);display:flex;gap:8px}
.crit li::before{content:counter(c);font:800 13px var(--font);flex:0 0 22px;height:22px;border-radius:50%;background:var(--line);color:var(--fg);display:inline-flex;align-items:center;justify-content:center}
.tier-row{display:grid;grid-template-columns:52px 1fr;border:1.5px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:10px;background:var(--surface)}
.tier-row .t{display:flex;align-items:center;justify-content:center;font:900 26px var(--font);color:#121417}
.tier-row .b{padding:12px 14px;min-width:0}
.tier-row h3{font-size:16px}
.tier-row p{margin:4px 0 0;font-size:14.5px;color:var(--muted)}
.tier-row .src{font-size:12.5px;color:var(--muted);margin-top:6px;display:inline-block}
.t-S{background:#FF5A36}.t-A{background:#FFB547}.t-B{background:#F2E36B}.t-C{background:#9BD27C}.t-D{background:#8FC3EA}.t-F{background:#C9CDD3}

/* ===== print / PDF (phone-width pages) ===== */
@media print{
  :root{--bg:#fff;--fg:#121417;--muted:#4A4F57;--line:#D9D3C8;--surface:#fff}
  .tabbar,.top,.skip,.progress,.check,.reset,.btn-row,[data-affiliate],.soon-msg,.no-print{display:none!important}
  body.has-tabbar{padding-bottom:0}
  .item{break-inside:avoid;border-color:var(--line)}
  details>summary{display:none}
  details{border-top:0}
  .print-only{display:block!important}
}
.print-only{display:none}
[hidden]{display:none!important}
.stop .ko{white-space:nowrap}
.go{justify-content:flex-start}
.go a{flex:0 0 auto;min-height:40px;padding:0 14px;border-radius:999px;font-size:14px}
.go a.n{background:transparent;border-color:#03C75A;color:#03C75A}
.go a.n::after{content:" \2197";margin-left:4px}
:root{--naver:#047A3C}
@media (prefers-color-scheme:dark){:root{--naver:#2BD67A}}
.go a.n{border-color:var(--naver);color:var(--naver)}

/* closed-day warnings (plan) */
.date{width:100%;min-height:52px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--fg);font:600 17px var(--font);padding:0 14px}
.day-h .when{font:800 14px var(--font);color:var(--fg)}
.holiday{margin:0 0 10px;padding:10px 12px;border-radius:12px;border:1.5px solid var(--line);font:600 14px/1.4 var(--font);color:var(--muted)}
.moved{margin:10px 0 0;padding:12px 14px;border-radius:12px;border:1.5px solid var(--o);color:var(--fg);font:600 15px/1.45 var(--font)}
.stop.is-closed .card{border-color:var(--x)}
.stop.is-closed .dot{border-color:var(--x);color:var(--x)}
.stop .closed-now{margin-top:8px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--x) 12%,transparent);color:var(--x);font:800 14px/1.35 var(--font)}

/* apps without a Korean number */
.app-key{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 14px}
.v{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;font:800 12px/1 var(--font);border:1.5px solid var(--line);color:var(--muted);white-space:nowrap}
.v-works{border-color:var(--o);color:var(--o)}
.v-partly{border-color:var(--brand-text);color:var(--brand-text)}
.v-no{border-color:var(--x);background:var(--x);color:#fff}
.app{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:10px}
.app-h{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.app-h h3{font-size:18px;min-width:0}
.app-h .ko{font:600 14px var(--font);color:var(--muted);margin-left:6px;white-space:nowrap}
.app .what{margin:4px 0 0;font-size:15px;color:var(--muted)}
.app dl{margin:10px 0 0;display:grid;gap:6px}
.kv{display:grid;grid-template-columns:76px 1fr;gap:8px;font-size:15px}
.kv dt{font:700 13px/1.6 var(--font);color:var(--muted)}
.kv dd{margin:0;min-width:0}
.m{font-weight:800}
.m-yes{color:var(--o)} .m-no{color:var(--x)} .m-partly{color:var(--brand-text)} .m-unknown,.m-na{color:var(--muted)}
.instead{margin:10px 0 0;font-size:15px;padding-top:10px;border-top:1px solid var(--line)}
.srcs{margin:8px 0 0;font-size:13px}
.app-tip{border:1.5px solid var(--fg);border-radius:16px;padding:14px 16px;margin-bottom:14px}
.app-tip h2{margin:0 0 6px;font-size:18px}
.app-tip p{font-size:15px;margin:0 0 6px}
.app .src,.app-tip .src{color:var(--muted);font-size:13px}

/* is it open that day? */
.cl-form{display:grid;gap:6px;margin:6px 0 14px}
.cl-form .date{margin-bottom:6px}
.cl-day{font:900 22px/1.2 var(--font);margin:6px 0 10px}
.cl-good{padding:10px 12px;border-radius:12px;border:1.5px solid var(--o);color:var(--o);font:700 15px/1.4 var(--font)}
.cl-sec{margin:14px 0}
.cl-sec summary{cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center}
.cl-sec summary::-webkit-details-marker{display:none}
.cl-sec summary h2{margin:0;font-size:19px;display:flex;gap:8px;align-items:center}
.cl-sec summary h2::after{content:"▾";font-size:14px;color:var(--muted)}
.cl-sec:not([open]) summary h2::after{content:"▸"}
.cl-n{font:800 13px var(--font);border:1.5px solid var(--line);border-radius:999px;padding:2px 8px;color:var(--muted)}
.cl-list{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:10px}
.cl-item{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:12px 14px}
.cl-h{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.cl-h h3{font-size:17px;min-width:0}
.cl-h .ko{font:600 14px var(--font);color:var(--muted);margin-left:6px;white-space:nowrap}
.cl-cat{font:700 12px var(--font);color:var(--muted);white-space:nowrap;padding-top:3px}
.cl-why{margin:6px 0 0;font:800 14px/1.4 var(--font)}
.cl-closed{border-color:var(--x)} .cl-closed .cl-why{color:var(--x)}
.cl-check .cl-why{color:var(--brand-text)}
.cl-open .cl-why{color:var(--o)}
.cl-unknown .cl-why{color:var(--muted)}
.cl-meta{margin:4px 0 0;font-size:14px;color:var(--muted)} .cl-meta b{color:var(--fg);font-weight:700;margin-right:4px}
.cl-item .tip{margin:6px 0 0;font-size:14px}
.cl-links{margin:8px 0 0;font-size:13px;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}
.cl-links .n{font-weight:800}
.cl-links .src{color:var(--muted)}
.go a.k::after{content:" \2197";margin-left:4px}

/* palaces: free / paid / closed calendar */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.pl-legend{display:flex;gap:8px;margin:2px 0 10px}
.pl-k{font:900 11px/1 var(--font);padding:6px 8px;border-radius:7px}
.pl-k.free,.pl td.free span{background:var(--o);color:#fff}
.pl-k.paid,.pl td.paid span{background:var(--line);color:var(--fg)}
.pl-k.shut,.pl td.shut span{background:var(--x);color:#fff}
.pl-range{font:800 14px var(--font);color:var(--muted);margin:0 0 6px}
.pl-week{margin:0 0 14px}
.pl{width:100%;border-collapse:separate;border-spacing:3px;table-layout:fixed}
.pl thead th{font:700 10.5px/1.15 var(--font);color:var(--muted);text-align:center;padding:2px 0}
.pl thead th:first-child{width:30%}
.pl thead th b{display:block;font:900 15px/1.1 var(--font);color:var(--fg)}
.pl thead th i{display:block;font:800 8.5px/1 var(--font);font-style:normal;color:var(--x);margin-top:2px}
.pl thead th.today b{color:var(--brand-text)}
.pl tbody th{font:800 12px/1.15 var(--font);text-align:left;padding-right:4px;word-break:break-word}
.pl tbody th .ko{display:block;font:600 10px/1.2 var(--font);color:var(--muted);margin:1px 0 0}
.pl td{padding:0;text-align:center}
.pl td span{display:flex;align-items:center;justify-content:center;height:30px;border-radius:7px;font:900 8.5px/1 var(--font);letter-spacing:.02em}
.pl td.shut span{font-size:13px}
.pl-notes ul{padding-left:18px;margin:6px 0 0;display:grid;gap:6px}
.pl-notes li{font-size:15px}

/* concierge waitlist */
.cc-kicker{font:800 12px/1 var(--font);letter-spacing:.08em;color:var(--brand-text);margin:4px 0 0}
.cc-price{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:baseline;border:1.5px solid var(--fg);border-radius:16px;padding:14px 16px;margin:6px 0 4px}
.cc-price b{font:900 36px/1 var(--font);grid-row:span 2}
.cc-price span{font:700 14px var(--font)}
.cc-price i{font:800 12px var(--font);font-style:normal;color:var(--brand-text)}
.cc-list{padding-left:20px;display:grid;gap:10px;margin:8px 0 10px}
.cc-list li{font-size:15.5px}
.mail input.txt{min-height:48px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);color:var(--fg);font:400 16px var(--font);padding:0 14px;width:100%}
form[data-wait]{display:grid;gap:6px}
.pl-hero{position:relative;margin:4px 0 0;border-radius:18px;overflow:hidden;aspect-ratio:16/10;max-width:100%}
.pl-hero img{width:100%;height:100%;object-fit:cover;display:block}
.pl-hero figcaption{position:absolute;inset:auto 0 0 0;padding:14px;background:linear-gradient(transparent,rgba(0,0,0,.55))}
.pl-hook{display:inline-block;font:900 26px/1 var(--font);color:#fff;background:var(--brand);padding:8px 10px;border-radius:8px;letter-spacing:-.01em}
.pl-credit{font:600 11px var(--font);color:var(--muted);margin:4px 0 6px}
