/* Editorial notices reuse Japonnow's material, typography and controls. */
.jn-campaign-host { position:fixed; z-index:62; pointer-events:none; left:16px; width:calc(100% - 32px); }
.jn-campaign-host[hidden] { display:none !important; }
.jn-campaign-host[data-position=top] { top:calc(var(--campaign-top, 90px) + env(safe-area-inset-top, 0px)); }
.jn-campaign-host[data-position=bottom] { bottom:calc(var(--campaign-bottom, 16px) + env(safe-area-inset-bottom, 0px)); }
.jn-campaign { --notice-ink:var(--ink,#0F0E17); --notice-muted:var(--muted,#60626c); --notice-fill:var(--surface,#fff); --notice-edge:var(--glass-edge,rgb(15 14 23 / 12%)); --notice-accent:var(--accent-text,#bf2926); display:flex; align-items:center; gap:16px; pointer-events:auto; position:relative; width:100%; padding:18px 20px; border:1px solid var(--notice-edge); border-radius:var(--panel-radius,20px); color:var(--notice-ink); background-color:var(--notice-fill); background-image:var(--glass-sheen,linear-gradient(135deg,rgb(255 255 255 / 60%),transparent)); box-shadow:var(--glass-shadow,inset 0 1px 0 rgb(255 255 255 / 60%)),0 12px 36px rgb(15 14 23 / 14%); font:400 14px/1.55 var(--font-body,"Inter","Noto Sans JP",sans-serif); box-sizing:border-box; max-height:min(380px,45vh,calc(var(--campaign-max-height,70vh) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))); overflow:auto; overscroll-behavior:contain; }
.jn-campaign *, .jn-campaign *::before, .jn-campaign *::after { box-sizing:border-box; }
.jn-campaign[data-type=promotion], .jn-campaign[data-type=featured] { --notice-accent:var(--discovery-text,#80501b); }
.jn-campaign__icon { display:flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; color:var(--notice-accent); border:1px solid var(--notice-edge); border-radius:14px; background:var(--control-sheen,linear-gradient(140deg,rgb(255 255 255 / 25%),transparent)); }
.jn-campaign__copy { flex:1; min-width:0; overflow-wrap:anywhere; }
.jn-campaign .jn-campaign__title { margin:0 0 4px; color:var(--notice-ink); font:700 15px/1.35 var(--font-display,"Plus Jakarta Sans",sans-serif); }
.jn-campaign .jn-campaign__message { margin:0; color:var(--notice-ink); font-size:14px; line-height:1.55; white-space:pre-line; }
.jn-campaign__message a { color:var(--notice-accent); text-decoration:underline; text-underline-offset:3px; }
.jn-campaign .jn-campaign__button { flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 16px; border:1px solid rgb(255 255 255 / 18%); border-radius:var(--control-radius,12px); color:var(--button-primary-ink,#fff); background-color:var(--button-primary-fill,#bf2926); background-image:var(--control-sheen,linear-gradient(140deg,rgb(255 255 255 / 24%),transparent)); box-shadow:var(--control-shadow,0 3px 10px rgb(15 14 23 / 8%)); font:600 13px/1.4 var(--font-display,"Plus Jakarta Sans",sans-serif); text-decoration:none; transition:background-color 160ms ease,box-shadow 160ms ease; }
.jn-campaign .jn-campaign__button:hover { background-color:var(--button-primary-hover,#ad2421); }
.jn-campaign[data-type=promotion] .jn-campaign__button { color:var(--button-amber-ink,#0F0E17); background-color:var(--button-amber-fill,#F2A65A); }
.jn-campaign .jn-campaign__close { align-self:flex-start; flex:0 0 44px; width:44px; height:44px; min-width:44px; display:flex; align-items:center; justify-content:center; padding:10px; border:1px solid var(--notice-edge); border-radius:12px; background:var(--control-sheen,linear-gradient(140deg,rgb(255 255 255 / 20%),transparent)); color:var(--notice-ink); cursor:pointer; }
.jn-campaign :is(a,button):focus-visible { outline:3px solid var(--focus,var(--notice-accent)); outline-offset:3px; }
.jn-campaign svg { display:block; width:20px; height:20px; }
.jn-campaign-preview[data-campaign-preview=dark] { --ink:#f7f7f5; --muted:#b4b7c2; --surface:#17191f; --glass-edge:rgb(255 255 255 / 16%); --accent-text:#ff9284; --discovery-text:#F2A65A; --glass-sheen:linear-gradient(135deg,rgb(255 255 255 / 6%),transparent); --glass-shadow:inset 0 1px 0 rgb(255 255 255 / 8%); }
.jn-campaign-preview .jn-campaign { position:relative; max-height:none; }
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
    .jn-campaign { --notice-fill:var(--glass-fill,rgb(255 255 255 / 84%)); -webkit-backdrop-filter:blur(var(--glass-blur,12px)); backdrop-filter:blur(var(--glass-blur,12px)); }
    .jn-campaign-preview[data-campaign-preview=dark] { --glass-fill:rgb(23 25 31 / 88%); }
}
@media(max-width:599px) {
    .jn-campaign { padding:14px; gap:10px; flex-wrap:wrap; }
    .jn-campaign__icon { flex-basis:36px; width:36px; height:36px; border-radius:12px; }
    .jn-campaign__copy { flex-basis:calc(100% - 110px); }
    .jn-campaign .jn-campaign__button { margin-left:46px; max-width:calc(100% - 46px); order:2; }
    .jn-campaign .jn-campaign__close { margin-left:auto; }
}
@media(prefers-reduced-motion:reduce) { .jn-campaign *, .jn-campaign { transition:none !important; animation:none !important; } }
@media(prefers-reduced-transparency:reduce) { .jn-campaign { --notice-fill:var(--surface,#fff); backdrop-filter:none; -webkit-backdrop-filter:none; } }
@media(forced-colors:active) { .jn-campaign { background:Canvas; border-color:CanvasText; box-shadow:none; } }
