.package-dialog {
  width:min(920px,calc(var(--package-viewport-width,100vw) - 32px));
  max-height:calc(var(--package-viewport-height,100vh) * .9);
  box-sizing:border-box;border:0;border-radius:18px;padding:20px;overflow:auto;
  font:16px/1.5 Pretendard,"Noto Sans KR","Apple SD Gothic Neo",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#352b27;
}
.package-dialog::backdrop{background:var(--package-dim,rgb(0 0 0 / 45%))}
.package-close{float:right;min-width:42px;min-height:42px;border:1px solid #eadfd9;border-radius:10px;background:#fff;color:#554741;font:inherit;font-size:22px;cursor:pointer}
.package-frame{display:block;width:100%;height:calc(var(--package-viewport-height,100vh) * .68);min-height:320px;box-sizing:border-box;border:0;background:#fff}
.package-actions{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0 0}
.package-actions a{padding:10px 16px;border:1px solid #e4c7d2;border-radius:9px;color:#9a2754;text-decoration:none;font-weight:700}

/* One stable Home Content Slot: legacy and package data share the existing card. */
.season-banner[data-content-source="package"]{cursor:pointer}
.season-banner[aria-busy="true"]{cursor:wait}
.home-content-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Shared surfaces: modal and Page Preview use the same renderers as public views. */
.package-modal-stage{display:grid;place-items:center;background:var(--package-dim,rgb(0 0 0 / 45%))}
.package-modal-stage>.package-dialog{position:relative;inset:auto;margin:auto}
.package-page-viewport{height:100%;min-height:0;background:#f8f6f4}
.package-page{width:100%;height:100%;min-height:0;margin:0;padding:clamp(16px,2.5vw,32px);box-sizing:border-box;display:flex;flex-direction:column;gap:18px;overflow:hidden;color:#352b27;font:16px/1.5 Pretendard,"Noto Sans KR","Apple SD Gothic Neo",Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.package-page-header{flex:none;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:2px 2px 18px;border-bottom:1px solid #eadfd9}
.package-page-header-minimal{justify-content:flex-end;padding-bottom:10px}
.package-page-heading{min-width:0}
.package-page-eyebrow{margin:0 0 6px;color:#d74d7a;font-size:11px;font-weight:900;letter-spacing:.12em}
.package-page h1{margin:0;overflow-wrap:anywhere;font-size:clamp(24px,3vw,36px);line-height:1.2;letter-spacing:-.035em}
.package-page-summary{max-width:780px;margin:8px 0 0;color:#756963;font-size:14px;overflow-wrap:anywhere}
.package-page-close{flex:none;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border:1px solid #e4c7d2;border-radius:11px;background:#fff;color:#9a2754;text-decoration:none;font-weight:800;white-space:nowrap}
.package-page>p[role="status"]{flex:none;margin:0;color:#756963}
.package-page>p[role="status"]:empty{display:none}
.package-page-creative{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #eadfd9;border-radius:16px;background:#fff;box-shadow:0 12px 34px rgb(70 48 38 / 8%)}
.package-page-creative .package-frame{flex:1;height:auto;min-height:0}
.package-page-creative .package-actions{flex:none;padding:0 16px 14px}

/* Public Page owns the viewport; long creative content scrolls in one generous frame. */
.package-public-content{width:100%;height:calc(100dvh - 96px);min-height:0;margin:0;padding:20px clamp(16px,3vw,40px);box-sizing:border-box}
.content-preview-stage{overflow:hidden}
.content-preview-stage>.package-page-viewport{height:100%}

@media(max-width:820px){
  .package-public-content{height:calc(100dvh - 78px);min-height:0;margin:0;padding:12px}
  .package-page{padding:14px;gap:12px}
  .package-page-header{gap:12px;padding-bottom:12px}
  .package-page-header-minimal{padding-bottom:8px}
  .package-page-summary{font-size:13px}
  .package-page-close{min-height:40px;padding:0 13px}
  .package-page-creative{border-radius:12px}
  .package-dialog{width:calc(var(--package-viewport-width,100vw) - 20px);padding:14px}
}
@media(max-width:480px){.package-page-header{display:grid;grid-template-columns:minmax(0,1fr) auto}.package-page h1{font-size:22px}.package-page-close{font-size:13px}}
