/* Scoped public extension. Canonical template typography and theme remain authoritative. */
.pse-public{padding:clamp(18px,4vw,42px);margin:12px auto;max-width:1200px;color:var(--ps-text,inherit)}
.pse-public-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px 15px;margin-bottom:18px}.pse-public-head h2{font-size:clamp(20px,3vw,28px);margin:0}.pse-public-head p{font-size:13px;opacity:.7}
.pse-public-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}.pse-public-card{border-radius:16px;border:1px solid var(--ps-border,rgba(130,130,140,.25));background:linear-gradient(138deg,var(--ps-card,var(--ps-surface,#252535)),var(--ps-surface,#141420));padding:19px;box-shadow:0 12px 27px rgba(0,0,0,.12);color:var(--ps-text,#fff)}
.pse-public-card h3{font-size:19px;line-height:1.25;margin:9px 0}.pse-public-card p{font-size:13px;opacity:.75;margin:8px 0}.pse-public-type{font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.1em;color:var(--ps-accent,#00dcaa)}
.pse-public-card a{display:inline-flex;margin-top:11px;color:var(--ps-accent,#00dcaa);font-size:13px;font-weight:750;padding:9px 0;min-height:40px;align-items:center}
.pse-public-card a:focus-visible{outline:2px solid var(--ps-accent,#00dcaa);outline-offset:3px}
/* PS-10109B unified public event calendar and detail */
.pse-public-card{display:block;width:100%;text-align:left;cursor:pointer;font:inherit;overflow:hidden}.pse-cover{display:block;width:100%;max-height:250px;aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin-bottom:13px}.pse-public .pse-link{display:inline-block;font-size:13px;font-weight:700;margin-top:10px;color:var(--ps-accent,#00dcaa)}.pse-public-card:focus-visible{outline:2px solid var(--ps-accent,#00dcaa)}
.pse-guest-backdrop{position:fixed;inset:0;z-index:100120;background:rgba(0,0,0,.73);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:calc(12px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom))}.pse-guest-dialog{position:relative;background:var(--ps-surface,#171722);color:var(--ps-text,#fff);border:1px solid var(--ps-border,rgba(255,255,255,.14));box-shadow:0 18px 65px rgba(0,0,0,.45);border-radius:22px;padding:22px;width:min(560px,100%);max-height:95dvh;overflow:auto;overscroll-behavior:contain}.pse-guest-dialog h2{font-size:clamp(22px,4vw,32px);line-height:1.18;margin:12px 0}.pse-guest-dialog h3{font-size:16px;margin:16px 0 8px}.pse-guest-dialog p{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.pse-guest-close{position:sticky;top:0;float:right;z-index:2;background:var(--ps-surface,#161620);border:1px solid var(--ps-border,#444);border-radius:50%;width:40px;height:40px;color:var(--ps-text,#fff);cursor:pointer}.pse-guest-video{display:block;width:100%;max-height:280px;margin-bottom:12px;border-radius:12px;background:#000}.pse-guest-action{display:block;width:100%;border:0;border-radius:11px;padding:13px;text-align:center;cursor:pointer;text-decoration:none;background:var(--ps-accent,#00cfa7);color:var(--ps-accent-text,#05130e);font:750 14px system-ui;margin:18px 0}.pse-guest-action:disabled{opacity:.65}.pse-guest-share{background:transparent;border:1px solid var(--ps-border,#555);color:inherit;border-radius:11px;padding:11px;min-height:43px;font-weight:700}.pse-lineup{display:flex;flex-wrap:wrap;gap:8px}.pse-lineup span{padding:8px 11px;background:var(--ps-card,#292932);border-radius:999px;font-size:12px}.pse-guest-note{font-size:12px!important;opacity:.8}.pse-guest-dialog #pse-guest-qr{display:grid;place-items:center;padding:10px}.pse-guest-dialog :focus-visible{outline:2px solid var(--ps-accent,#00cfa7);outline-offset:3px}
@media(max-width:480px){.pse-guest-backdrop{align-items:flex-end;padding:0}.pse-guest-dialog{max-height:calc(96dvh - env(safe-area-inset-top));width:100%;border-radius:19px 19px 0 0;padding:18px 16px calc(22px + env(safe-area-inset-bottom))}}

.pse-public-calendar{border:1px solid var(--ps-border,rgba(145,145,145,.22));border-radius:18px;background:var(--ps-surface,#171722);padding:12px 16px;margin:0 0 16px;max-width:640px}.pse-calendar-bar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 12px}.pse-calendar-bar strong{font-size:15px}.pse-calendar-bar button{border:1px solid var(--ps-border,rgba(145,145,145,.22));border-radius:10px;width:38px;height:38px;min-width:38px;cursor:pointer;background:var(--ps-card,#272735);color:var(--ps-text,#fff);font-size:24px}.pse-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.pse-date-grid>strong{text-align:center;font-size:10px;opacity:.7;padding:3px}.pse-date{position:relative;display:grid;place-items:center;border:1px solid transparent;background:transparent;border-radius:9px;min-height:42px;color:var(--ps-text,#eee);font-size:12px;cursor:pointer}.pse-date small{position:absolute;right:2px;top:1px;font-size:9px;font-weight:700;color:var(--ps-accent,#00deb3)}.pse-date.has-shows{background:var(--ps-card,#292938);border-color:var(--ps-accent,#00d6a8);font-weight:800}.pse-date.is-selected{background:var(--ps-accent,#00d6a8);color:var(--ps-accent-text,#051915)}.pse-date-blank{min-height:36px}.pse-show-all{border:0;background:transparent;color:var(--ps-accent,#00d6a8);cursor:pointer;padding:6px 0 12px;font-weight:700}.pse-empty-calendar{font-size:14px;opacity:.75;padding:10px 0 30px}
