/* Shared editorial shell: consistent with the discovery home, all existing palettes preserved. */
html[data-palette="lime"]{--accent-rgb:213 250 77;--accent-bright:#e0ff78;--bg:#171a17;--bg-elev:#1c211b;--surface-rgb:34 40 31;--text:#f1f0e9;--muted:#b6beb0;--line:#ffffff24}
html[data-palette="lime"] body{color:var(--text);background:var(--bg)}
html[data-palette="lime"] .glass-panel{background:#22281fd9}
.site-primary-nav a{white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.site-header-actions button{min-width:44px;min-height:44px}
.site-search input{min-width:0}
#mainImageContainer{min-width:0;width:100%;max-width:100%}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
img[data-illustrative="true"]{filter:saturate(.8)}
.image-attribution{position:absolute;bottom:10px;right:10px;max-width:calc(100% - 20px);background:#11190ed9;color:#f2f3ee;font-size:10px;padding:4px 7px;border-radius:3px;line-height:1.5;z-index:2;white-space:normal;overflow-wrap:anywhere}
.image-attribution--ai{top:16px;bottom:auto;left:16px;right:auto;max-width:calc(100% - 96px);font-size:12px}
.source-caption{font-size:11px;color:var(--muted);line-height:1.7}
@media(min-width:1180px){.site-menu-toggle{display:none!important}}
@media(max-width:1179px){.site-primary-nav{display:none!important}.site-menu-toggle{display:inline-flex!important;align-items:center;justify-content:center}.site-header-actions{gap:12px!important}.site-search{max-width:220px}}
@media(max-width:600px){.site-search{display:none!important}.site-header-actions{gap:8px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* F-SSY-008 정보 포스터 — 사진 없는 팝업. 공개 사실만 쓰고 그림 파일은 없다. 크기는 컨테이너 단위(cqi·cqmin), 한글은 keep-all */
.pp{position:absolute;inset:0;container-type:size;overflow:hidden;isolation:isolate;background:var(--pp-bg);color:var(--pp-ink);font-family:'Pretendard Variable',Pretendard,system-ui,sans-serif;text-align:left}
.pp-in{position:absolute;inset:0;padding:6.5cqi;display:flex;flex-direction:column}
.pp-num{font-family:'Fraunces',Georgia,serif;font-variant-numeric:lining-nums;font-feature-settings:"lnum";letter-spacing:-.02em}
.pp-kicker{display:flex;justify-content:space-between;align-items:center;gap:2cqi;font-size:max(10px,3.1cqi);font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.2}
.pp-k{opacity:.72}
.pp-status{font-size:max(10px,3.1cqi);font-weight:800;letter-spacing:.02em;padding:1.2cqi 2.6cqi;border-radius:999px;background:var(--pp-ink);color:var(--pp-bg);white-space:nowrap;text-transform:none}
.pp-status.is-hot{background:var(--pp-hot);color:#fff}
.pp-title{margin:0;font-weight:800;letter-spacing:-.045em;line-height:1.08;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.pp-t-xl{font-size:15.5cqi}.pp-t-l{font-size:12cqi}.pp-t-m{font-size:9.6cqi}.pp-t-s{font-size:7.8cqi}
.pp-street{font-size:max(11px,3.4cqi);font-weight:600;opacity:.78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.pp-dates{font-size:7cqi;font-weight:500;white-space:nowrap}
.pp-yr{display:block;font-family:'Pretendard Variable',sans-serif;font-size:max(10px,3cqi);font-weight:700;letter-spacing:.08em;font-style:normal;margin-bottom:1cqi}
.pp-rule{border-top:.45cqi solid currentColor;opacity:.85;margin:3.5cqi 0}
.pp-foot{display:flex;justify-content:space-between;align-items:baseline;gap:3cqi}
.pp-L-title .pp-title,.pp-L-title .pp-range-big{margin-top:auto}
.pp-range-big{display:grid;font-size:22cqmin;line-height:.95;font-weight:300}
.pp-range-big span+span{font-style:italic}
.pp-big{font-size:31cqi;line-height:.82;font-weight:300;font-style:italic;margin:5cqi 0 0 -1cqi}
.pp-until{font-size:max(11px,3.6cqi);font-weight:700;margin-top:2.4cqi;opacity:.8}
.pp-L-date .pp-title{margin-top:auto}.pp-L-date .pp-street{margin-top:2.4cqi}
.pp--art.pp-L-date .pp-street{margin-top:auto}
.pp-L-ticket{background:var(--pp-ink)}.pp-L-ticket .pp-in{padding:5cqi}
.pp-ticket{position:relative;flex:1;background:var(--pp-bg);color:var(--pp-ink);border-radius:3cqi;display:grid;grid-template-rows:1fr auto auto;padding:6cqi;
 -webkit-mask:radial-gradient(circle 4.2cqi at 0 66%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 4.2cqi at 100% 66%,#0000 98%,#000) right/51% 100% no-repeat;
 mask:radial-gradient(circle 4.2cqi at 0 66%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 4.2cqi at 100% 66%,#0000 98%,#000) right/51% 100% no-repeat}
.pp-L-ticket .pp-kicker{color:var(--pp-bg);margin-bottom:3cqi}
.pp-ticket .pp-title,.pp-ticket-big{align-self:center}
.pp-ticket-big{font-size:24cqmin;font-weight:300;font-style:italic;line-height:.9}
.pp-perf{border-top:.5cqi dashed currentColor;opacity:.5;margin:4cqi -2cqi}
.pp-row{display:flex;justify-content:space-between;align-items:end;gap:3cqi}
.pp-ticket .pp-dates{font-size:6.2cqi;line-height:1}
.pp-dates small{display:block;font-family:'Pretendard Variable',sans-serif;font-size:max(10px,2.8cqi);font-weight:700;letter-spacing:.08em;opacity:.65;margin-bottom:1.4cqi}
.pp-ghost{position:absolute;left:-2cqi;right:-2cqi;bottom:-4cqi;font-weight:900;font-size:27cqi;line-height:.9;letter-spacing:-.06em;color:var(--pp-ink);opacity:.09;white-space:nowrap;z-index:-1;word-break:keep-all;pointer-events:none}
.pp-L-street .pp-title{margin-top:7cqi}
.pp-meta{margin-top:auto;margin-bottom:22cqi;display:grid;gap:1.6cqi}
.pp--art.pp-L-street .pp-meta{margin-bottom:24cqmin}
.pp-stamp{position:absolute;top:13cqi;right:6cqi;width:33cqi;aspect-ratio:1;border-radius:50%;border:.7cqi solid currentColor;display:grid;place-items:center;text-align:center;transform:rotate(-9deg)}
.pp-stamp b{display:block;font-size:11cqi;font-weight:400;line-height:.9;white-space:nowrap;letter-spacing:-.04em}
.pp-stamp b.is-long{font-size:8.6cqi}
.pp-stamp span{display:block;font-family:'Pretendard Variable',sans-serif;font-size:max(9px,2.7cqi);font-weight:800;letter-spacing:.06em;margin-top:1.2cqi}
.pp-stamp.is-hot{background:var(--pp-hot);border-color:var(--pp-hot);color:#fff}
.pp-L-stamp .pp-title{margin-top:auto;max-width:96%}
.pp--art.pp-L-stamp .pp-stamp{top:50%;right:auto;left:50%;width:46cqmin;translate:-50% -60%}
.pp--art.pp-L-stamp .pp-stamp b{font-size:15cqmin}.pp--art.pp-L-stamp .pp-stamp b.is-long{font-size:12cqmin}
.pp--art.pp-L-stamp .pp-rule{margin-top:auto}
/* art: 썸네일 비율이 제각각(4:5, 1.45, 16:9, 정사각)이라 큰 글자는 짧은 변(cqmin) 기준 */
.pp--art .pp-big{font-size:28cqmin}
.pp--art .pp-ghost{font-size:30cqmin}
.pp--art .pp-dates{font-size:max(12px,6.4cqmin)}
.pp--art .pp-kicker,.pp--art .pp-status{font-size:max(9px,3.4cqmin)}
.pp--art .pp-street{font-size:max(10px,3.8cqmin)}
@container (max-height:180px){.pp--art .pp-until,.pp--art .pp-street,.pp--art .pp-rule,.pp--art .pp-dates,.pp--art .pp-perf,.pp--art .pp-ghost{display:none}.pp--art .pp-in,.pp--art.pp-L-ticket .pp-in{padding:9cqmin;justify-content:center}.pp--art .pp-meta,.pp--art .pp-foot{margin:0}.pp--art .pp-ticket{padding:6cqmin}.pp--art.pp-L-stamp .pp-stamp{translate:-50% -50%}}
/* hero: 상세 상단. 아래쪽은 기존 제목·배지 오버레이 자리라 그림의 무게는 위·오른쪽에 둔다 */
.pp--hero .pp-in{padding:max(28px,5cqi) 5cqi;align-items:flex-start}
.pp-hero-date{font-size:min(30cqi,48cqh);line-height:.85;font-weight:300;font-style:italic;margin-left:-.5cqi}
.pp-hero-date .pp-yr{font-size:max(11px,1.6cqi)}
.pp-hero-range{font-size:max(13px,2.4cqi);font-weight:500;margin-top:1.5cqi;opacity:.8}
.pp--hero .pp-ghost{font-size:min(24cqi,40cqh);bottom:auto;top:40%;opacity:.08}
/* 팔레트: 사이트 토큰(라임·청록·코랄)과 종이색. 흰 글자 강조색은 #c43d1a(대비 5.2:1) */
.pp-P0{--pp-bg:#d4ff1a;--pp-ink:#0c0e07;--pp-hot:#c43d1a}
.pp-P1{--pp-bg:#efe8d6;--pp-ink:#1b1a14;--pp-hot:#c43d1a}
.pp-P2{--pp-bg:#1d2114;--pp-ink:#eef0e2;--pp-hot:#c43d1a}
.pp-P3{--pp-bg:#f5966e;--pp-ink:#1b0f0a;--pp-hot:#0c0e07}
.pp-P4{--pp-bg:#78f5e8;--pp-ink:#07090c;--pp-hot:#c43d1a}
.pp-P5{--pp-bg:#ffe27a;--pp-ink:#1d1806;--pp-hot:#c43d1a}
.pp-P6{--pp-bg:#c9c6bd;--pp-ink:#141414;--pp-hot:#c43d1a}
.pp-P7{--pp-bg:#24412f;--pp-ink:#e7f0d6;--pp-hot:#c43d1a}
.pp-P2 .pp-status:not(.is-hot),.pp-P7 .pp-status:not(.is-hot){background:#d4ff1a;color:#0c0e07}
.pp-card{position:relative;display:block;aspect-ratio:4/5;border-radius:14px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.pp-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -14px rgba(0,0,0,.7)}
.pp-card:focus-visible{outline:2px solid #d4ff1a;outline-offset:3px}
.pp--art .pp-in{padding:max(40px,15cqmin) 8cqmin 8cqmin}
.pp--art.pp-L-ticket .pp-in{padding:max(40px,13cqmin) 6cqmin 6cqmin}
.popup-guide-event-photo:has(>.pp){width:92px;height:92px;flex:0 0 92px;border-radius:8px;overflow:hidden}
@container (max-height:180px){.pp--art.pp-L-street .pp-meta{display:none}.pp--art.pp-L-street .pp-ghost{display:block;position:static;opacity:.9;font-size:17cqmin;white-space:normal;line-height:1.02;letter-spacing:-.04em;margin:auto 0}}
.pp--art.pp-L-title .pp-foot .pp-dates{display:none}
@container (max-height:180px){.pp--art .pp-stamp span{display:none}.pp--art.pp-L-stamp .pp-stamp{width:62cqmin}.pp--art.pp-L-stamp .pp-stamp b,.pp--art.pp-L-stamp .pp-stamp b.is-long{font-size:20cqmin}}
/* 검수 반영(F-SSY-008 2차) */
.pp{box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.pp-sub{display:inline-block;max-width:100%}
.pp-big,.pp-range-big,.pp-ticket-big,.pp-hero-date{padding-left:.06em}
.pp-big{margin-left:0}
.pp--art .pp-dates{display:none}
@container (max-height:180px){.pp--art .pp-ticket{padding:6cqmin 11cqmin}}
.pp--hero{background:linear-gradient(to bottom,var(--pp-bg) 0 60%,rgb(var(--surface-rgb,23 26 20)) 60%)}
.pp--hero .pp-ghost{display:none}
.pp-hero-date{font-size:min(30cqi,40cqh)}
.pp-hero-range{opacity:.85}
/* 포스터가 아닌 바깥 제목도 한글 단어 중간에서 끊지 않는다 */
.calendar-event h3,.popup-guide-event h3,.discovery-card h3{word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}
/* 상세 상단: 기존 사진용 어둡게 덮는 그라데이션을 포스터에서는 끈다(색이 탁해지지 않게). 모바일은 제목 4줄까지 어두운 면에 오도록 경계를 올린다 */
.pp--hero+.bg-gradient-to-t,div:has(>#mobileGallery .pp--hero)>.bg-gradient-to-t{display:none}
@media(max-width:767px){.pp--hero{background:linear-gradient(to bottom,var(--pp-bg) 0 52%,rgb(var(--surface-rgb,23 26 20)) 52%)}}
.calendar-event h3 .pp-sub,.popup-guide-event h3 .pp-sub{display:inline-block;max-width:100%}
