/* 카드 부품. 값은 tokens.css만 쓴다. 감싸는 .card-wrap의 너비가 카드 크기를 정한다 */
/* ── 카드 ── */
.card-wrap{width:min(100%,440px);container-type:inline-size;margin:0 auto}
.card{position:relative;aspect-ratio:var(--card-ratio);border-radius:var(--r-card);background:var(--card-frame);padding:1.7cqw;box-shadow:var(--shadow-card);font-family:var(--font-ko);color:var(--text)}
.card__in{position:relative;height:100%;border-radius:calc(var(--r-card) - 1.2cqw);background:var(--panel-bg);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 0 0 0.4cqw var(--card-frame-line)}

/* 장면 창 */
.scene{position:relative;flex:0 0 var(--scene-share);overflow:hidden;border-bottom:0.6cqw solid var(--gold-300);border-radius:0 0 var(--r-scene) var(--r-scene)}
.scene img{width:100%;height:100%;object-fit:cover;display:block}
.tag{position:absolute;left:3.6cqw;top:0;background:var(--cream-50);color:var(--text-strong);font-family:var(--font-en);font-weight:700;font-size:var(--fs-value);padding:var(--sp-3) var(--sp-3) var(--sp-4);clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%);box-shadow:0 0 0 0.4cqw var(--gold-300)}
.label{position:absolute;left:50%;top:var(--sp-1);transform:translateX(-50%);background:var(--pill-bg);color:var(--pill-text);font-family:var(--font-en);font-weight:700;font-size:var(--fs-label);letter-spacing:.18em;padding:var(--sp-1) var(--sp-4);border-radius:var(--r-pill);border:0.4cqw solid var(--gold-300);white-space:nowrap}
.stamp{position:absolute;right:3cqw;top:3cqw;width:15cqw;height:15cqw;border-radius:50%;border:0.7cqw solid var(--stamp-red);outline:0.3cqw solid var(--stamp-red);outline-offset:0.6cqw;color:var(--stamp-red);display:grid;place-items:center;font-size:5.4cqw;transform:rotate(-12deg);background:#fff9}

/* 패널 */
.panel{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:var(--sp-2) var(--sp-3) var(--sp-3)}
.city{font-family:var(--font-en);font-weight:700;font-size:var(--fs-city);line-height:1;color:var(--text-strong);text-shadow:var(--shadow-text);letter-spacing:.02em;white-space:nowrap}
.sub{background:var(--pill-bg);color:var(--pill-text);font-size:var(--fs-body);padding:var(--sp-1) var(--sp-4);border-radius:var(--r-pill);border:0.4cqw solid var(--gold-300);white-space:nowrap}
.quote{color:var(--text);padding:0 var(--sp-2);font-size:var(--fs-quote);line-height:1.35;text-align:center;text-wrap:balance}
.chips{display:grid;grid-template-columns:1fr 1fr 1.25fr 1.25fr 1.1fr;gap:var(--sp-1);width:100%}
.chip{background:var(--chip-bg);border:0.3cqw solid var(--chip-line);border-radius:var(--r-chip);box-shadow:var(--shadow-chip);padding:var(--sp-1) var(--sp-1) var(--sp-2);text-align:center;min-width:0;overflow:hidden}
.chip b{display:block;font-weight:400;font-size:var(--fs-label);color:var(--text-muted)}
.chip span{display:block;font-size:var(--fs-value);color:var(--text-strong);white-space:nowrap}
.chip--coord{border-color:var(--gold-700);display:grid;align-content:center}
.chip--coord span{font-family:var(--font-en);font-weight:600;font-size:var(--fs-tiny);line-height:1.5}
.grade{width:100%;background:var(--band-bg);color:var(--band-text);font-size:var(--fs-body);text-align:center;padding:var(--sp-1);border-radius:var(--r-pill);border:0.4cqw solid var(--gold-300);letter-spacing:.08em}

