/**
 * Platinum Surface 2.9.9 — Public Site Foundation
 * Reusable public-site shell primitives for Platinum properties.
 *
 * This layer is intentionally namespaced. During migration it can coexist
 * with a legacy public stylesheet; consumers may remove the legacy fallback
 * one slice at a time without changing the shell contract.
 */
:root{
  --ps-public-container:1240px;
  --ps-public-header-height:82px;
  --ps-public-header-z:1000;
  --ps-public-radius-lg:18px;
  --ps-public-radius-control:14px;
  /* Canonical public visual tokens. These are owned by Surface Public and must
     never depend on a route stylesheet such as platinum-surface-home.css. */
  --ps-public-bg:#06101d;
  --ps-public-bg-2:#081829;
  --ps-public-bg-3:#0d2033;
  --ps-public-surface:rgba(16,31,47,.86);
  --ps-public-surface-solid:#101f2f;
  --ps-public-surface-2:rgba(22,39,58,.88);
  --ps-public-border:rgba(172,202,231,.16);
  --ps-public-border-strong:rgba(172,202,231,.28);
  --ps-public-text:#f7fbff;
  --ps-public-text-soft:#d8e5f3;
  --ps-public-muted:#94a8bd;
  --ps-public-muted-2:#688098;
  --ps-public-accent:#336699;
  --ps-public-accent-2:#4f86b8;
  --ps-public-header-bg:rgba(8,24,41,.92);
  --ps-public-footer-bg:#071421;
  --ps-public-shadow-soft:0 14px 32px rgba(0,0,0,.22);
}
html[data-theme="light"],
html[data-ps-theme="light"],
html[data-ps-resolved-theme="light"]{
  color-scheme:light;
  --ps-public-bg:#f3f7fb;
  --ps-public-bg-2:#eaf1f8;
  --ps-public-bg-3:#ffffff;
  --ps-public-surface:rgba(255,255,255,.90);
  --ps-public-surface-solid:#ffffff;
  --ps-public-surface-2:rgba(247,250,253,.94);
  --ps-public-border:rgba(15,35,55,.12);
  --ps-public-border-strong:rgba(15,35,55,.20);
  --ps-public-text:#0d1b2a;
  --ps-public-text-soft:#1f344a;
  --ps-public-muted:#596f84;
  --ps-public-muted-2:#70859a;
  --ps-public-header-bg:rgba(234,241,248,.92);
  --ps-public-footer-bg:#eaf1f8;
  --ps-public-shadow-soft:0 12px 28px rgba(18,40,68,.10);
}
.ps-public-shell{min-height:100vh;overflow-x:hidden}
.ps-public-container{width:min(var(--ps-public-container),calc(100% - 42px));margin-inline:auto}
.ps-public-header{position:sticky;top:0;z-index:var(--ps-public-header-z);border-bottom:1px solid var(--ps-public-border);background:var(--ps-public-header-bg);backdrop-filter:blur(18px)}
.ps-public-nav{min-height:var(--ps-public-header-height);display:grid;grid-template-columns:minmax(210px,auto) auto minmax(360px,1fr);align-items:center;gap:clamp(12px,1.6vw,24px)}
.ps-public-brand{display:inline-flex;align-items:center;gap:12px;min-width:max-content;color:var(--ps-public-text);text-decoration:none}
.ps-public-brand__logo{width:42px;height:42px;border-radius:12px;object-fit:cover}
.ps-public-brand__name{font-size:1.05rem;font-weight:800;letter-spacing:-.03em;white-space:nowrap}
.ps-public-menu{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;padding:0;list-style:none;white-space:nowrap}
.ps-public-menu a{display:inline-flex;align-items:center;min-height:40px;padding:0 clamp(10px,1vw,16px);border-radius:999px;color:var(--ps-public-text-soft);font-size:.95rem;font-weight:700;line-height:1.1;text-decoration:none;white-space:nowrap}
.ps-public-menu a:hover,.ps-public-menu a[aria-current="page"]{color:var(--ps-public-text);background:var(--ps-public-surface-2);box-shadow:inset 0 0 0 1px var(--ps-public-border)}
.ps-public-actions{min-width:0;justify-self:end;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap}
.ps-public-search{min-width:170px;max-width:220px;flex:0 1 205px}
.ps-public-search form{width:100%}
.ps-public-icon-button{width:44px;height:44px;display:inline-grid;place-items:center;border:1px solid var(--ps-public-border-strong);border-radius:var(--ps-public-radius-control);background:var(--ps-public-surface-2);color:var(--ps-public-text)}
.ps-public-mobile-toggle{display:none}
.ps-public-footer{margin-top:54px;border-top:1px solid var(--ps-public-border);background:var(--ps-public-footer-bg)}
.ps-public-footer__grid{display:grid;grid-template-columns:1.2fr 1fr .95fr;gap:70px;padding:46px 0}
.ps-public-footer__brand{display:inline-flex;align-items:center;gap:12px;color:var(--ps-public-text);text-decoration:none;margin-bottom:16px;font-weight:900}
.ps-public-footer__brand img{width:40px;height:40px}
.ps-public-footer__links,.ps-public-footer__social{display:grid;gap:9px}
.ps-public-footer__links{grid-template-columns:repeat(2,minmax(120px,1fr));column-gap:34px}
.ps-public-footer a{color:var(--ps-public-text-soft);text-decoration:none}
.ps-public-footer a:hover{color:var(--ps-public-accent)}
@media(max-width:1180px) and (min-width:861px){
  .ps-public-nav{grid-template-columns:minmax(190px,1fr) auto minmax(280px,360px);gap:10px}
  .ps-public-menu a{padding-inline:10px;font-size:.9rem}
  .ps-public-search{min-width:165px;max-width:205px;flex-basis:190px}
}
@media(max-width:1020px) and (min-width:861px){
  .ps-public-nav{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand actions" "menu actions";min-height:0;padding:12px 0;row-gap:8px}
  .ps-public-brand{grid-area:brand}.ps-public-menu{grid-area:menu;justify-content:flex-start}.ps-public-actions{grid-area:actions;align-self:center}
}
@media(max-width:860px){
  .ps-public-container{width:min(calc(100% - 28px),var(--ps-public-container))}
  .ps-public-nav{display:flex;min-height:0;padding:12px 0;align-items:center;gap:10px;flex-wrap:wrap}
  .ps-public-brand{flex:1 1 auto;min-width:0;max-width:calc(100% - 56px)}
  .ps-public-brand__name{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .ps-public-mobile-toggle{display:inline-grid!important;flex:0 0 42px;order:2}
  .ps-public-menu{order:4;width:100%;flex:0 0 100%;display:none!important;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:12px;border:1px solid var(--ps-public-border);border-radius:var(--ps-public-radius-lg);background:var(--ps-public-surface);box-shadow:var(--ps-public-shadow-soft)}
  .ps-public-menu.is-open{display:flex!important}.ps-public-menu a{justify-content:center;width:100%}
  .ps-public-actions{order:3;flex:0 0 100%;width:100%;justify-content:stretch}
  .ps-public-search{flex:1 1 auto;min-width:0;max-width:none}
  .ps-public-footer__grid{grid-template-columns:1fr;gap:34px}
}
@media(max-width:480px){.ps-public-container{width:calc(100% - 20px)}}


/* Surface 2.9.5 shared public controls */
.ps-public-body{
  margin:0;min-height:100vh;font-family:var(--ps-font-sans);color:var(--ps-public-text);
  background:linear-gradient(145deg,var(--ps-public-bg),color-mix(in srgb,var(--ps-public-bg) 94%,var(--ps-public-accent) 6%) 54%,var(--ps-public-bg));
}
.ps-public-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:0 18px;border:1px solid transparent;border-radius:999px;text-decoration:none;font-size:.92rem;font-weight:850;white-space:nowrap;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease}
.ps-public-button:hover{transform:translateY(-1px)}
.ps-public-button--primary{background:linear-gradient(180deg,color-mix(in srgb,var(--ps-public-accent) 78%,#fff),var(--ps-public-accent));color:#fff;box-shadow:0 14px 28px color-mix(in srgb,var(--ps-public-accent) 28%,transparent)}
.ps-public-button--primary:hover{color:#fff;box-shadow:0 18px 36px color-mix(in srgb,var(--ps-public-accent) 36%,transparent)}
.ps-public-button--outline{border-color:color-mix(in srgb,var(--ps-public-accent) 50%,var(--ps-public-border));background:transparent;color:var(--ps-public-accent)}
.ps-public-button--outline:hover{background:color-mix(in srgb,var(--ps-public-accent) 10%,transparent);color:var(--ps-public-accent)}
.ps-public-search{position:relative}
.ps-public-search form{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;width:100%;min-height:44px;overflow:visible;border:1px solid var(--ps-public-border-strong);border-radius:999px;background:var(--ps-public-surface-2)}
.ps-public-search input{width:100%;min-width:0;height:42px;padding:0 8px 0 15px;border:0;outline:0;background:transparent;color:var(--ps-public-text)}
.ps-public-search input::placeholder{color:var(--ps-public-muted)}
.ps-public-search button{width:42px;height:42px;display:grid;place-items:center;padding:0;border:0;border-radius:999px;background:transparent;color:var(--ps-public-text);cursor:pointer}
.ps-public-search button:hover{background:color-mix(in srgb,var(--ps-public-accent) 12%,transparent);color:var(--ps-public-accent)}
.ps-public-footer p{margin:0 0 18px;color:var(--ps-public-muted);line-height:1.7}.ps-public-footer small{color:var(--ps-public-muted)}.ps-public-footer h3{margin:0 0 14px;color:var(--ps-public-text);font-size:.92rem;font-weight:900;text-transform:uppercase;letter-spacing:.02em}
.ps-public-footer__ad{padding-top:30px}.ps-public-footer__version{display:inline-flex;align-items:center;width:fit-content;margin-top:12px;padding:5px 10px;border:1px solid var(--ps-public-border);border-radius:999px;background:var(--ps-public-surface-2);color:var(--ps-public-muted);font-size:.72rem;line-height:1;font-weight:850;letter-spacing:.02em}
.ps-public-footer__social a{display:inline-flex;align-items:center;gap:10px}.ps-public-social-dot{width:30px;height:30px;display:inline-grid;place-items:center;border-radius:999px;background:var(--ps-public-accent);color:#fff;font-weight:900}.ps-public-jobs{display:inline-flex;align-items:center;min-height:21px;padding:0 8px;margin-left:6px;border-radius:999px;background:#e94747;color:#fff;font-size:.72rem;font-weight:900}.ps-public-backtop{display:inline-flex;margin-top:22px;color:var(--ps-public-muted)!important;font-size:.9rem}
.ps-public-sponsored-reserve{position:relative}.ps-public-sponsored-reserve__label{color:var(--ps-public-muted);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:860px){.ps-public-button--primary{flex:0 0 auto}.ps-public-actions>.ps-public-button{min-width:max-content}.ps-public-search form{min-height:42px}.ps-public-search input,.ps-public-search button{height:40px}}


/* Surface 2.9.9 — canonical public shell reset
   Public navigation/footer are Surface-owned only. No Homepage/Bootstrap geometry may leak in. */
:root{
  --ps-public-container:1240px;
  --ps-public-header-height:74px;
  --ps-public-gutter:22px;
}
.ps-public-header{
  position:sticky;
  top:0;
  z-index:1000;
  width:100%;
  min-height:var(--ps-public-header-height);
  border-bottom:1px solid var(--ps-public-border);
  background:color-mix(in srgb,var(--ps-public-header-bg) 96%,transparent);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.ps-public-container{
  width:min(var(--ps-public-container),calc(100% - (var(--ps-public-gutter) * 2)));
  max-width:var(--ps-public-container);
  margin-inline:auto;
}
.ps-public-header .ps-public-nav{
  width:min(var(--ps-public-container),calc(100% - (var(--ps-public-gutter) * 2)));
  max-width:var(--ps-public-container);
  min-height:var(--ps-public-header-height);
  margin-inline:auto;
  padding:0;
  display:grid;
  grid-template-columns:minmax(235px,275px) minmax(360px,1fr) auto;
  align-items:center;
  column-gap:20px;
}
.ps-public-brand{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--ps-public-text);
  text-decoration:none;
}
.ps-public-brand__logo{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:block;
  border-radius:9px;
  object-fit:cover;
}
.ps-public-brand__name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--ps-public-text);
  font-size:.96rem;
  line-height:1.15;
  font-weight:850;
  letter-spacing:-.025em;
}
.ps-public-primary{min-width:0;display:block;}
.ps-public-menu{
  min-width:0;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:4px;
  list-style:none;
}
.ps-public-menu li{margin:0;padding:0;list-style:none;}
.ps-public-menu a{
  min-height:38px;
  padding:0 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
  border-radius:999px;
  color:var(--ps-public-text-soft);
  text-decoration:none;
  white-space:nowrap;
  font-size:.88rem;
  line-height:1;
  font-weight:760;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.ps-public-menu a:hover{
  color:var(--ps-public-text);
  background:color-mix(in srgb,var(--ps-public-surface-2) 76%,transparent);
}
.ps-public-menu a[aria-current="page"]{
  color:var(--ps-public-text);
  border-color:var(--ps-public-border);
  background:var(--ps-public-surface-2);
}
.ps-public-actions{
  min-width:0;
  justify-self:end;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:nowrap;
}
.ps-public-search{
  position:relative;
  width:205px;
  min-width:205px;
  max-width:205px;
  flex:0 0 205px;
}
.ps-public-search form{
  position:relative;
  width:100%;
  height:40px;
  min-height:40px;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 40px;
  align-items:center;
  overflow:visible;
  border:1px solid var(--ps-public-border-strong);
  border-radius:999px;
  background:var(--ps-public-surface);
  box-shadow:none;
}
.ps-public-search input{
  width:100%;
  min-width:0;
  height:38px;
  margin:0;
  padding:0 6px 0 14px;
  border:0;
  border-radius:999px 0 0 999px;
  outline:0;
  background:transparent;
  color:var(--ps-public-text);
  font:inherit;
  font-size:.84rem;
  font-weight:650;
  box-shadow:none;
}
.ps-public-search input::placeholder{color:var(--ps-public-muted);opacity:1;}
.ps-public-search button{
  width:38px;
  height:38px;
  margin:0;
  padding:0;
  display:grid;
  place-items:center;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--ps-public-text-soft);
  cursor:pointer;
  box-shadow:none;
}
.ps-public-search button:hover{background:var(--ps-public-surface-2);color:var(--ps-public-accent);}
.ps-public-search__suggest{top:calc(100% + 8px)!important;left:0!important;right:0!important;}
.ps-public-button{
  min-height:40px;
  padding:0 15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border-radius:999px;
  font-size:.85rem;
  line-height:1;
  font-weight:850;
  text-decoration:none;
}
.ps-public-advertise{min-width:106px;}
.ps-public-icon-button{
  width:40px;
  height:40px;
  min-width:40px;
  padding:0;
  display:inline-grid;
  place-items:center;
  border:1px solid var(--ps-public-border-strong);
  border-radius:12px;
  background:var(--ps-public-surface);
  color:var(--ps-public-text);
  font:inherit;
  cursor:pointer;
  box-shadow:none;
}
.ps-public-theme-toggle{font-size:1rem;}
.ps-public-mobile-toggle{display:none;}
.ps-public-footer{
  width:100%;
  margin-top:64px;
  border-top:1px solid var(--ps-public-border);
  background:var(--ps-public-footer-bg);
}
.ps-public-footer .ps-public-container{
  width:min(var(--ps-public-container),calc(100% - (var(--ps-public-gutter) * 2)));
  max-width:var(--ps-public-container);
  margin-inline:auto;
}
.ps-public-footer__ad{padding-top:30px;}
.ps-public-footer__grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.9fr) minmax(220px,.65fr);
  gap:64px;
  align-items:start;
  padding:48px 0 50px;
}
.ps-public-footer__brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--ps-public-text);text-decoration:none;font-weight:900;}
.ps-public-footer__brand img{width:34px;height:34px;border-radius:8px;}
.ps-public-footer__links{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:9px 28px;}
.ps-public-footer__social{display:grid;gap:10px;}
.ps-public-footer p{max-width:48ch;}

/* Article page joins the same shell grid. */
.ps-article-page-leaderboard > .ps-public-container,
.ps-public-container.ps-article-layout{
  width:min(var(--ps-public-container),calc(100% - (var(--ps-public-gutter) * 2)))!important;
  max-width:var(--ps-public-container)!important;
  margin-inline:auto!important;
}
.ps-article-page-leaderboard{padding:28px 0 24px;}
.ps-public-container.ps-article-layout{grid-template-columns:minmax(0,1fr) 340px!important;gap:26px!important;}

@media(max-width:1180px) and (min-width:901px){
  :root{--ps-public-gutter:18px;}
  .ps-public-header .ps-public-nav{grid-template-columns:minmax(175px,205px) minmax(330px,1fr) auto;column-gap:10px;}
  .ps-public-brand__name{font-size:.9rem;}
  .ps-public-menu{gap:1px;}
  .ps-public-menu a{padding-inline:8px;font-size:.82rem;}
  .ps-public-search{width:165px;min-width:165px;max-width:165px;flex-basis:165px;}
  .ps-public-advertise{min-width:96px;padding-inline:12px;}
  .ps-public-container.ps-article-layout{grid-template-columns:minmax(0,1fr) 310px!important;gap:22px!important;}
}
@media(max-width:900px){
  :root{--ps-public-gutter:14px;}
  .ps-public-header .ps-public-nav{
    min-height:0;
    padding:11px 0;
    display:grid;
    grid-template-columns:minmax(0,1fr) 40px;
    grid-template-areas:"brand toggle" "actions actions" "menu menu";
    gap:9px 10px;
  }
  .ps-public-brand{grid-area:brand;max-width:100%;}
  .ps-public-mobile-toggle{grid-area:toggle;display:inline-grid;justify-self:end;}
  .ps-public-primary{grid-area:menu;width:100%;}
  .ps-public-menu{
    display:none!important;
    width:100%;
    padding:8px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    border:1px solid var(--ps-public-border);
    border-radius:16px;
    background:var(--ps-public-surface);
    box-shadow:var(--ps-public-shadow-soft);
  }
  .ps-public-menu.is-open{display:grid!important;}
  .ps-public-menu a{width:100%;min-height:40px;padding:0 10px;}
  .ps-public-actions{grid-area:actions;width:100%;justify-self:stretch;display:grid;grid-template-columns:minmax(0,1fr) auto 40px;gap:8px;}
  .ps-public-search{width:auto;min-width:0;max-width:none;flex:auto;}
  .ps-public-search form{width:100%;}
  .ps-public-footer__grid{grid-template-columns:1fr 1fr;gap:36px 44px;}
  .ps-public-footer__about{grid-column:1/-1;}
  .ps-public-container.ps-article-layout{grid-template-columns:1fr!important;}
}
@media(max-width:620px){
  :root{--ps-public-gutter:10px;}
  .ps-public-header .ps-public-nav{padding:9px 0;}
  .ps-public-brand__logo{width:34px;height:34px;flex-basis:34px;}
  .ps-public-brand__name{font-size:.88rem;}
  .ps-public-actions{grid-template-columns:minmax(0,1fr) auto 38px;}
  .ps-public-advertise{min-width:0;padding-inline:12px;}
  .ps-public-icon-button{width:38px;height:38px;min-width:38px;}
  .ps-public-menu{grid-template-columns:1fr;}
  .ps-public-footer__grid{grid-template-columns:1fr;gap:30px;padding:38px 0 42px;}
  .ps-public-footer__about{grid-column:auto;}
  .ps-public-footer__links{grid-template-columns:1fr 1fr;}
  .ps-article-page-leaderboard{padding:18px 0;}
}
@media(max-width:430px){
  .ps-public-brand__name{max-width:210px;}
  .ps-public-search input{font-size:.8rem;}
  .ps-public-advertise{font-size:.8rem;padding-inline:10px;}
  .ps-public-footer__links{grid-template-columns:1fr;}
}

/* Surface 2.9.8 — public search suggestions and event-theme banner are shell-owned. */
.ps-public-search__suggest{
  position:absolute;
  z-index:1090;
  top:calc(100% + 8px);
  left:0;
  right:0;
  overflow:hidden;
  padding:6px;
  border:1px solid var(--ps-public-border);
  border-radius:14px;
  background:var(--ps-public-surface);
  box-shadow:0 20px 44px rgba(0,0,0,.22);
}
.ps-public-search__suggest[hidden]{display:none!important}
.ps-public-search__suggest a{display:block;padding:10px 11px;border-radius:10px;color:var(--ps-public-text);text-decoration:none}
.ps-public-search__suggest a:hover{background:var(--ps-public-surface-2)}
.ps-public-search__suggest strong{display:block;font-size:.88rem;line-height:1.25}
.ps-public-search__suggest span{display:block;margin-top:3px;color:var(--ps-public-muted);font-size:.75rem}

.ps-public-theme-banner{
  position:relative;
  z-index:990;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.20);
  background:
    radial-gradient(circle at 12% 50%,color-mix(in srgb,var(--ps-public-theme-secondary,var(--public-theme-secondary,#f5c400)) 24%,transparent),transparent 24rem),
    linear-gradient(135deg,var(--ps-public-theme-accent,var(--public-theme-accent,#336699)),color-mix(in srgb,var(--ps-public-theme-accent,var(--public-theme-accent,#336699)) 72%,#000));
  box-shadow:0 16px 45px rgba(0,0,0,.16);
}
.ps-public-theme-banner__inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0}
.ps-public-theme-banner__label{display:inline-flex;align-items:center;gap:7px;margin-bottom:2px;color:color-mix(in srgb,var(--ps-public-theme-secondary,var(--public-theme-secondary,#f5c400)) 88%,#fff);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ps-public-theme-banner__title{font-weight:900;line-height:1.15}
.ps-public-theme-banner__message{margin-top:2px;font-size:.92rem;opacity:.84}
.ps-public-theme-banner__cta{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:.58rem .86rem;border-radius:999px;background:var(--ps-public-theme-secondary,var(--public-theme-secondary,#f5c400));color:#111!important;font-weight:900;text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.22)}
.ps-public-theme-banner__cta:hover{filter:brightness(.96);transform:translateY(-1px)}
:is(html[data-public-theme="hurricane"],html[data-ps-public-theme="hurricane"]) .ps-public-theme-banner__label::before{content:"⚠"}
:is(html[data-public-theme="election"],html[data-ps-public-theme="election"]) .ps-public-theme-banner__label::before,
:is(html[data-public-theme="breaking"],html[data-ps-public-theme="breaking"]) .ps-public-theme-banner__label::before{content:"●"}
:is(html[data-public-theme="festival"],html[data-ps-public-theme="festival"]) .ps-public-theme-banner__label::before{content:"★"}
@media(max-width:720px){.ps-public-theme-banner__inner{align-items:flex-start;flex-direction:column;gap:10px}.ps-public-theme-banner__cta{width:100%;justify-content:center}}
.ps-public-sponsored-reserve[hidden]{display:none!important}
.ps-public-sponsored-reserve{padding:22px 0 8px;background:linear-gradient(180deg,color-mix(in srgb,var(--ps-public-surface-2) 68%,transparent),transparent)}
.ps-public-sponsored-reserve>.ps-public-container{display:flex;flex-direction:column;align-items:center;gap:8px}
.ps-public-sponsored-reserve__label{font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--ps-public-muted);text-align:center}
.ps-public-sponsored-reserve.is-collapsed-inline .ad-slot--popover{box-shadow:0 14px 38px rgba(15,23,42,.10)}

/* Surface 2.9.8 — public ad presentation */
.ps-public-ad-slot{display:flex;justify-content:center;width:100%;margin:14px auto;min-width:0}
.ps-public-ad-slot__inner{display:flex;align-items:center;justify-content:center;width:100%;min-height:90px;overflow:hidden;border-radius:16px}
.ps-public-ad{display:grid;place-items:center;width:100%;min-height:inherit;position:relative}
.ps-public-ad__placeholder{display:grid;place-items:center;width:100%;min-height:inherit;padding:1rem;border:1px dashed color-mix(in srgb,var(--ps-public-border) 75%,transparent);border-radius:16px;color:var(--ps-public-muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:color-mix(in srgb,var(--ps-public-surface) 76%,transparent)}
.ps-public-ad.has-ad .ps-public-ad__placeholder,.ps-public-ad.is-empty .ps-public-ad__placeholder{display:none}
.ps-public-ad.is-loading .ps-public-ad__placeholder{animation:psPublicAdPulse 1.45s ease-in-out infinite}
.ps-public-ad-slot--leaderboard{max-width:970px;min-height:90px}
.ps-public-ad-slot--leaderboard .ps-public-ad-slot__inner,.ps-public-ad-slot--leaderboard .ps-public-ad{min-height:90px}
.ps-public-ad-slot--box{max-width:336px;min-height:280px}
.ps-public-ad-slot--box .ps-public-ad-slot__inner,.ps-public-ad-slot--box .ps-public-ad{min-height:250px}
.ps-public-ad-slot--in_article{max-width:100%;min-height:120px}
.ps-public-ad-slot--in_article .ps-public-ad-slot__inner,.ps-public-ad-slot--in_article .ps-public-ad{min-height:120px}
.ps-public-ad-slot--footer{max-width:970px;min-height:90px}
.ps-public-ad-slot--popover{max-width:640px;min-height:90px}
.ps-public-ad :is(img,iframe,video,object,embed){display:block;max-width:100%!important;height:auto!important;border:0;margin:auto}
.ps-public-ad iframe{width:100%;min-height:90px}
.ps-public-ad .platinum-ad-render{width:100%;display:grid;place-items:center;gap:.35rem}
.ps-public-ad .platinum-ad-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ps-public-muted);font-weight:800;line-height:1}
.ps-public-ad .platinum-house-ad{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.2rem;width:min(100%,640px);min-height:84px;padding:18px 20px;border-radius:18px;background:linear-gradient(135deg,var(--ps-public-accent),color-mix(in srgb,var(--ps-public-accent) 72%,#001a33));color:#fff!important;text-decoration:none;box-shadow:0 18px 44px color-mix(in srgb,var(--ps-public-accent) 20%,transparent);position:relative;overflow:hidden}
.ps-public-ad .platinum-house-ad::after{content:"";position:absolute;right:-34px;top:-34px;width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,.16)}
.ps-public-ad .platinum-house-ad span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;opacity:.88}
.ps-public-ad .platinum-house-ad strong{font-size:1.05rem;line-height:1.15}.ps-public-ad .platinum-house-ad em{font-style:normal;font-size:.82rem;opacity:.9}
@keyframes psPublicAdPulse{0%,100%{opacity:.55}50%{opacity:1}}

/* Surface public sponsored modal generated by the application ad-delivery service. */
body.ps-public-popover-ad-open{overflow:hidden}
.ps-public-popover-ad{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px}
.ps-public-popover-ad__backdrop{position:absolute;inset:0;background:rgba(2,10,20,.72);backdrop-filter:blur(8px)}
.ps-public-popover-ad__dialog{position:relative;z-index:1;width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;border:1px solid var(--ps-public-border);border-radius:22px;background:var(--ps-public-surface);box-shadow:0 28px 80px rgba(0,0,0,.35)}
.ps-public-popover-ad__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--ps-public-border);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--ps-public-text)}
.ps-public-popover-ad__close{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--ps-public-border);border-radius:999px;background:var(--ps-public-surface-2);color:var(--ps-public-text);font:inherit;font-size:1.25rem;cursor:pointer}
.ps-public-popover-ad__content{padding:18px}.ps-public-popover-ad__foot{padding:0 18px 18px;color:var(--ps-public-muted);font-size:.75rem;line-height:1.45}

/* Surface 2.9.8 — public cookie consent presentation */
.ps-public-consent{position:fixed;left:0;right:0;bottom:0;z-index:1300;padding:14px;color:var(--ps-public-text)}
.ps-public-consent__shell{width:min(1180px,calc(100% - 20px));margin:0 auto;padding:18px;border:1px solid var(--ps-public-border);border-radius:22px;background:color-mix(in srgb,var(--ps-public-surface) 94%,transparent);box-shadow:0 24px 64px rgba(0,0,0,.28);backdrop-filter:blur(18px)}
.ps-public-consent__top{display:flex;align-items:center;justify-content:space-between;gap:22px}
.ps-public-consent__copy-area{min-width:0;flex:1}.ps-public-consent__eyebrow{display:flex;align-items:center;gap:8px;color:var(--ps-public-muted);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.ps-public-consent__eyebrow span{width:8px;height:8px;border-radius:50%;background:var(--ps-public-accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--ps-public-accent) 14%,transparent)}
.ps-public-consent__title{margin-top:6px;font-size:1rem;font-weight:900;letter-spacing:-.02em}.ps-public-consent__copy{margin-top:4px;color:var(--ps-public-muted);font-size:.82rem;line-height:1.45}.ps-public-consent__copy a{color:var(--ps-public-accent);font-weight:800}
.ps-public-consent__actions,.ps-public-consent__prefs-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.ps-public-consent__button{min-height:38px;padding:.55rem .82rem;border:1px solid var(--ps-public-border);border-radius:999px;font:inherit;font-size:.78rem;font-weight:850;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}
.ps-public-consent__button:hover{transform:translateY(-1px)}.ps-public-consent__button.is-secondary{background:var(--ps-public-surface-2);color:var(--ps-public-text)}.ps-public-consent__button.is-primary{border-color:var(--ps-public-accent);background:var(--ps-public-accent);color:#fff}
.ps-public-consent__prefs{margin-top:16px;padding-top:16px;border-top:1px solid var(--ps-public-border)}
.ps-public-consent__pref-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ps-public-consent__pref-card{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px;border:1px solid var(--ps-public-border);border-radius:16px;background:var(--ps-public-surface-2)}
.ps-public-consent__pref-card span{display:grid;gap:3px}.ps-public-consent__pref-card strong{font-size:.82rem}.ps-public-consent__pref-card small{color:var(--ps-public-muted);font-size:.74rem;line-height:1.35}.ps-public-consent__pref-card input{margin-top:3px;accent-color:var(--ps-public-accent)}
.ps-public-consent__prefs-actions{margin-top:12px}
@media (max-width:760px){.ps-public-ad-slot--leaderboard{max-width:320px;min-height:100px}.ps-public-ad-slot--leaderboard .ps-public-ad-slot__inner,.ps-public-ad-slot--leaderboard .ps-public-ad{min-height:100px}.ps-public-consent{padding:8px}.ps-public-consent__shell{width:100%;padding:14px;border-radius:18px}.ps-public-consent__top{align-items:stretch;flex-direction:column}.ps-public-consent__actions{justify-content:flex-start}.ps-public-consent__pref-grid{grid-template-columns:1fr}.ps-public-consent__prefs-actions{justify-content:flex-start}}

/* Surface 2.9.9 — canonical public shell isolation and customer-facing polish */
.ps-public-header,
.ps-public-header *,
.ps-public-footer,
.ps-public-footer *,
.ps-public-theme-banner,
.ps-public-theme-banner *{
  box-sizing:border-box;
}
.ps-public-header,
.ps-public-footer,
.ps-public-theme-banner{
  font-family:var(--ps-font-sans,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);
  line-height:1.4;
}
.ps-public-header .ps-public-nav{
  min-height:76px;
}
.ps-public-brand__logo{
  width:38px;
  height:38px;
  flex-basis:38px;
}
.ps-public-brand__name{
  font-size:1rem;
  font-weight:900;
}
.ps-public-menu a{
  min-height:40px;
  font-size:.9rem;
  font-weight:800;
}
.ps-public-search,
.ps-public-search form{
  min-height:42px;
}
.ps-public-button,
.ps-public-icon-button{
  min-height:42px;
}
.ps-public-footer{
  margin-top:48px;
}
.ps-public-footer__grid{
  padding-top:42px;
  padding-bottom:44px;
}
.ps-public-footer__ad:has(.ps-public-ad-slot.is-empty),
.ps-public-footer__ad:has(.ps-public-ad.is-empty){
  display:none;
}
.ps-public-ad-slot.is-empty{
  display:none!important;
  min-height:0!important;
  margin:0!important;
}
.ps-public-ad-slot.is-empty .ps-public-ad-slot__inner,
.ps-public-ad-slot.is-empty .ps-public-ad{
  min-height:0!important;
}
@media(max-width:900px){
  .ps-public-header .ps-public-nav{min-height:0;}
  .ps-public-brand__logo{width:36px;height:36px;flex-basis:36px;}
  .ps-public-footer{margin-top:38px;}
}
