.bnr-island{display:contents}
.pulse-banner{display:flex;justify-content:center;padding:0 16px;margin:0;background:var(--bg);line-height:0}
.pulse-banner-slot{position:relative;width:100%;max-width:calc(var(--shell-w) - 32px);aspect-ratio:1200/170;overflow:hidden;background:var(--card);display:flex;align-items:center;justify-content:center}
.pulse-banner-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pulse-banner-ph{position:relative;z-index:0;font-size:13px;font-weight:600;color:var(--dim);display:inline-flex;align-items:center;gap:8px;letter-spacing:.02em;line-height:1.4}
.pulse-banner-ph .bi{font-size:18px}
.bnr-php-stage{position:absolute;inset:0;overflow:hidden}
.bnr-php-slide{position:absolute;inset:0;display:block;opacity:0;pointer-events:none;transition:opacity .42s ease-out,transform .42s ease-out}
.bnr-php-slide.is-on{opacity:1;pointer-events:auto;transform:none}
.bnr-php-slide img{width:100%;height:100%;object-fit:cover;display:block}
.bnr-php-nav{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:32px;height:32px;border:0;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--card) 84%,transparent);color:var(--ink);cursor:pointer;opacity:0}
.bnr-php-stage:hover .bnr-php-nav,.bnr-php-stage:focus-within .bnr-php-nav{opacity:1}
.bnr-php-prev{left:9px}.bnr-php-next{right:9px}
@media(max-width:820px){.pulse-banner{display:none}}
.bnr-stage{position:absolute;inset:0;overflow:hidden;background:var(--card)}
.bnr-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .7s ease-in-out,transform .7s cubic-bezier(.22,.61,.36,1)}
.bnr-slide.is-on{opacity:1;pointer-events:auto;transform:none}
.bnr-slide>a,.bnr-slide img{display:block;width:100%;height:100%}
.bnr-slide img{object-fit:cover}
.bnr-stage.is-soft_reveal .bnr-slide{transform:translateX(18px)}
.bnr-stage.is-soft_reveal .bnr-slide.is-on{transform:none}
.bnr-stage.is-depth_fade .bnr-slide{transform:scale(1.018)}
.bnr-stage.is-depth_fade .bnr-slide.is-on{transform:none}
.bnr-nav,.bnr-dots button{border:0;color:var(--ink);background:color-mix(in srgb,var(--card) 84%,transparent);box-shadow:var(--shadow);cursor:pointer}
.bnr-nav{position:absolute;z-index:3;top:50%;width:34px;height:34px;border:1px solid color-mix(in srgb,var(--card) 55%,transparent);border-radius:50%;display:grid;place-items:center;padding:0;background:color-mix(in srgb,var(--card) 76%,transparent);color:var(--ink);box-shadow:var(--shadow);backdrop-filter:blur(8px);transform:translateY(-50%) scale(.94);opacity:0;transition:opacity .12s ease-out,transform .12s ease-out}
.bnr-nav .bi{font-size:13px;line-height:1}
.bnr-stage:hover .bnr-nav,.bnr-stage:focus-within .bnr-nav{opacity:1;transform:translateY(-50%) scale(1)}
.bnr-nav:hover{background:var(--card);color:var(--accent-ink)}
.bnr-prev{left:9px}.bnr-next{right:9px}
.bnr-controls{position:absolute;z-index:3;left:50%;bottom:8px;transform:translateX(-50%) translateY(3px);display:flex;align-items:center;gap:6px;opacity:0;pointer-events:none;transition:opacity .12s ease-out,transform .12s ease-out}
.bnr-stage:hover .bnr-controls,.bnr-stage:focus-within .bnr-controls{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.bnr-dots{display:flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid color-mix(in srgb,var(--card) 55%,transparent);border-radius:20px;background:color-mix(in srgb,var(--card) 76%,transparent);box-shadow:var(--shadow);backdrop-filter:blur(8px)}
.bnr-dots button{width:7px;height:7px;padding:0;border-radius:50%;background:var(--dim);box-shadow:none}
.bnr-dots button.is-on{width:18px;border-radius:20px;background:var(--accent)}
.bnr-edit-trigger{position:absolute;z-index:7;top:9px;right:9px;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid color-mix(in srgb,var(--card) 35%,transparent);border-radius:var(--r);background:color-mix(in srgb,var(--card) 88%,transparent);color:var(--ink);font:700 12px/1 Roboto,sans-serif;box-shadow:var(--shadow);cursor:pointer;opacity:0;transform:translateY(-3px);transition:opacity .12s ease-out,transform .12s ease-out}
.pulse-banner-slot:hover .bnr-edit-trigger,.pulse-banner-slot:focus-within .bnr-edit-trigger{opacity:1;transform:none}
.bnr-modal-backdrop{position:fixed;z-index:10040;inset:0;display:grid;place-items:center;padding:18px;background:color-mix(in srgb,var(--ink) 58%,transparent);line-height:1.35}
.bnr-modal{width:min(880px,100%);max-height:calc(100vh - 36px);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--ink);box-shadow:var(--shadow);font-family:Roboto,sans-serif}
.bnr-modal-head,.bnr-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px}
.bnr-modal-head{border-bottom:1px solid var(--line)}
.bnr-modal-head h2{margin:2px 0 0;font-size:18px;line-height:1.2;font-weight:800}
.bnr-kicker{color:var(--dim);font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.bnr-close,.bnr-icon{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--ink2);cursor:pointer}
.bnr-close:hover,.bnr-icon:hover{background:var(--inset);color:var(--ink)}
.bnr-editor-body{overflow:auto;padding:14px 16px;display:grid;gap:12px}
.bnr-mode{display:flex;gap:3px;padding:3px;border-radius:var(--r);background:var(--inset)}
.bnr-mode button{flex:1;height:34px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink2);font-weight:700;cursor:pointer}
.bnr-mode button.is-on{background:var(--card);color:var(--ink);box-shadow:var(--shadow)}
.bnr-settings{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bnr-settings label,.bnr-slide-fields label{display:grid;gap:5px;color:var(--dim);font-size:11px;font-weight:700}
.bnr-settings select,.bnr-slide-fields input{width:100%;height:34px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--inset);color:var(--ink);padding:0 10px;font:600 12px Roboto,sans-serif;outline:none}
.bnr-settings select:focus,.bnr-slide-fields input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-wash)}
.bnr-preview{display:grid;gap:6px;color:var(--dim);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.bnr-preview .bnr-stage{position:relative;aspect-ratio:1200/170;border-radius:var(--r);border:1px solid var(--line)}
.bnr-slide-list{display:grid;gap:8px}
.bnr-edit-slide{display:grid;grid-template-columns:180px 1fr;gap:12px;padding:10px;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
.bnr-thumb{aspect-ratio:1200/170;align-self:start;display:grid;place-items:center;overflow:hidden;border-radius:var(--r-sm);background:var(--inset);color:var(--dim)}
.bnr-thumb img{width:100%;height:100%;object-fit:cover}
.bnr-slide-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bnr-slide-head,.bnr-slide-actions{grid-column:1/-1;display:flex;align-items:center;gap:5px}
.bnr-slide-head{justify-content:space-between}.bnr-slide-head strong{font-size:12.5px}.bnr-slide-head span{color:var(--dim);font-size:10.5px}
.bnr-slide-actions{justify-content:flex-end}
.bnr-file{position:relative;z-index:2;margin-right:auto;display:inline-flex!important;align-items:center;grid-auto-flow:column;gap:6px!important;height:30px;padding:0 9px;border-radius:var(--r-sm);background:var(--accent-wash);color:var(--accent-ink)!important;cursor:pointer}
.bnr-file input{display:none}
.bnr-icon{width:30px;height:30px}.bnr-icon.is-danger{color:var(--danger)}
.bnr-error{display:flex;align-items:center;gap:7px;padding:9px 10px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--danger) 10%,var(--card));color:var(--danger);font-size:12px;font-weight:700}
.bnr-modal-foot{border-top:1px solid var(--line);color:var(--dim);font-size:11px;font-weight:700}
.bnr-modal-foot>div{display:flex;gap:6px}
.bnr-btn{height:34px;padding:0 12px;border:1px solid var(--line2);border-radius:var(--r-sm);background:var(--card);color:var(--ink);font-weight:700;cursor:pointer}
.bnr-btn.is-quiet{border-color:transparent;color:var(--ink2)}
.bnr-btn.is-primary{border-color:var(--accent);background:var(--accent);color:var(--card)}
.bnr-btn:disabled,.bnr-icon:disabled{opacity:.45;cursor:not-allowed}
.bnr-empty{position:absolute;inset:0;display:grid;place-items:center;gap:6px;background:var(--inset);color:var(--dim);font-size:12px}
html.forre-banner-react .pulse-banner-slot>.fnx-php{display:none!important}
@media(max-width:820px){.bnr-modal-backdrop{display:none}}
@media(max-width:680px){.bnr-edit-slide{grid-template-columns:1fr}.bnr-slide-fields{grid-template-columns:1fr}.bnr-settings{grid-template-columns:1fr}.bnr-modal-foot{align-items:flex-start;flex-direction:column}.bnr-modal-foot>div{width:100%}.bnr-btn{flex:1}}
@media (prefers-reduced-motion:reduce){.bnr-nav,.bnr-controls,.bnr-edit-trigger{transition:none!important}}
