/* PromptShare Games — hub pane + static gallery. Images/Videos rules untouched. */
/* Discover hub: Images / Videos / Games as three triangles covering the viewport. */
html[data-ps-route="discover"] .ps-disc-split:has(.ps-disc-pane--games) {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: 1fr !important;
  background: #070b16;
}
html[data-ps-route="discover"] .ps-disc-split:has(.ps-disc-pane--games) .ps-disc-pane {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  z-index: 1;
}
html[data-ps-route="discover"] .ps-disc-split:has(.ps-disc-pane--games) .ps-disc-pane--images {
  z-index: 1;
  clip-path: polygon(0% 0%, calc(50% - 1px) 0%, calc(50% - 1px) 62.5%, 0% 100%);
}
html[data-ps-route="discover"] .ps-disc-split:has(.ps-disc-pane--games) .ps-disc-pane--videos {
  z-index: 2;
  clip-path: polygon(calc(50% + 1px) 0%, 100% 0%, 100% 100%, calc(50% + 1px) 62.5%);
}
html[data-ps-route="discover"] .ps-disc-split:has(.ps-disc-pane--games) .ps-disc-pane--games {
  z-index: 3;
  clip-path: polygon(0% 100%, 50% 62.5%, 100% 100%);
}
/* 1px seam drawn over the shared diagonals so the three regions read clearly. */
html[data-ps-route="discover"] .ps-disc-split:has(.ps-disc-pane--games)::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cline x1='50' y1='0' x2='50' y2='62.5' stroke='%23f4f1ff' stroke-opacity='0.42' stroke-width='1' vector-effect='non-scaling-stroke'/%3E%3Cline x1='50' y1='62.5' x2='0' y2='100' stroke='%23f4f1ff' stroke-opacity='0.42' stroke-width='1' vector-effect='non-scaling-stroke'/%3E%3Cline x1='50' y1='62.5' x2='100' y2='100' stroke='%23f4f1ff' stroke-opacity='0.42' stroke-width='1' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
html[data-ps-route="discover"] .ps-disc-split:has(.ps-disc-pane--games) .ps-disc-pane--images .ps-disc-label {
  align-items: flex-start;
  text-align: left;
  padding-left: max(1.1rem, env(safe-area-inset-left));
}
html[data-ps-route="discover"] .ps-disc-split:has(.ps-disc-pane--games) .ps-disc-pane--videos .ps-disc-label {
  align-items: flex-end;
  text-align: right;
  padding-right: max(1.1rem, env(safe-area-inset-right));
}
html[data-ps-route="discover"] .ps-disc-split:has(.ps-disc-pane--games) .ps-disc-pane--games .ps-disc-label {
  top: auto;
  bottom: clamp(1.85rem, 4.4vh, 2.7rem);
  align-items: center;
  text-align: center;
  padding-bottom: 0.15rem;
  z-index: 3;
}
html[data-ps-route="discover"] .ps-disc-split:has(.ps-disc-pane--games) .ps-disc-word {
  font-size: clamp(1.85rem, 5.2vw, 4.2rem);
}
html[data-ps-route="discover"] .ps-disc-split:has(.ps-disc-pane--games) .ps-disc-pane--games .ps-disc-word {
  font-size: clamp(1.45rem, 3.3vw, 2.45rem);
}
html[data-ps-route="discover"] .ps-disc-split:has(.ps-disc-pane--games) .ps-disc-pane--games .ps-disc-img {
  object-fit: cover;
  object-position: center 85%;
  z-index: 0;
}
html[data-ps-route="discover"] .ps-disc-split:has(.ps-disc-pane--games) .ps-disc-pane--images .ps-disc-img {
  z-index: 0;
  object-fit: cover;
  object-position: center center;
}
html[data-ps-route="discover"] .ps-disc-split:has(.ps-disc-pane--games) .ps-disc-pane:focus-visible {
  z-index: 6;
  outline: none;
  filter: drop-shadow(0 0 1px rgba(126, 231, 245, 0.95)) drop-shadow(0 0 8px rgba(196, 166, 255, 0.72));
}
.ps-disc-pane--games .ps-disc-shade {
  background:
    linear-gradient(180deg, rgba(12, 14, 24, 0.55) 0%, rgba(12, 14, 24, 0.12) 42%, rgba(10, 16, 28, 0.78) 100%),
    radial-gradient(80% 60% at 50% 0%, rgba(255, 196, 120, 0.22), transparent 60%);
}
.ps-disc-pane--games .ps-disc-word {
  text-shadow: 0 2px 24px rgba(0,0,0,.45), 0 0 40px rgba(255, 196, 120, .28);
}

/* Static games pages — cream gallery shell matching Images/Videos (ps-redesign-v2). Hub rules above are untouched. */
@font-face{font-family:Fraunces;font-style:normal;font-weight:500 620;font-display:swap;src:url(/fonts/fraunces-normal-500.woff2) format("woff2")}
@font-face{font-family:Outfit;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/outfit-normal-400.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-normal-400.woff2) format("woff2")}

body.ps-games-body{
  margin:0;
  min-height:100vh;
  color:#242422;
  font-family:Outfit,"Segoe UI",sans-serif;
  background:
    radial-gradient(900px 560px at 6% 8%, rgba(229,237,255,.9), transparent 58%),
    radial-gradient(820px 520px at 94% 4%, rgba(255,203,226,.55), transparent 55%),
    radial-gradient(760px 500px at 88% 92%, rgba(255,240,214,.85), transparent 58%),
    radial-gradient(640px 420px at 20% 100%, rgba(255,211,146,.35), transparent 55%),
    #fffdf9;
  background-color:#fffdf9;
  background-attachment:fixed;
}
body.ps-games-body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(ellipse 42% 36% at 18% 28%, rgba(36,89,232,.06), transparent 70%),
    radial-gradient(ellipse 40% 32% at 82% 72%, rgba(237,67,139,.06), transparent 70%),
    radial-gradient(ellipse 36% 30% at 60% 12%, rgba(245,130,32,.05), transparent 70%);
}
body.ps-games-body::after{
  content:"";
  position:fixed;
  width:220px;height:160px;
  left:-40px;top:14%;
  border-radius:47% 49% 41% 46%;
  background:color-mix(in srgb,#e5edff 70%,#fffdf9);
  opacity:.7;
  pointer-events:none;
  z-index:0;
}
.ps-games-body a{color:#2459e8}
.ps-games-body .ps-gwrap,.ps-games-body .ps-gbar{position:relative;z-index:1}

/* Floating frosted bar — same treatment as .net-bar in ps-redesign-v2 */
.ps-gbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.85rem;
  width:min(1120px,calc(100% - 1.5rem));
  margin:.7rem auto .35rem;
  padding:.7rem 1.05rem;
  position:sticky;
  top:.55rem;
  z-index:20;
  background:rgba(255,253,249,.5);
  -webkit-backdrop-filter:blur(18px) saturate(1.35);
  backdrop-filter:blur(18px) saturate(1.35);
  border:1px solid rgba(36,36,34,.08);
  border-radius:22px;
  box-shadow:0 10px 32px rgba(36,36,34,.06), inset 0 1px 0 rgba(255,255,255,.55);
}
.ps-gbar .brand{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  min-height:44px;
  color:#242422;
  text-decoration:none;
  font-family:Fraunces,Georgia,serif;
  font-weight:560;
  letter-spacing:-.04em;
  font-size:1.2rem;
}
.ps-gbar .brand:hover{color:#2459e8}
.ps-gbar .logo-mark{display:block;flex:none}
.ps-gbar nav{display:flex;gap:.2rem;flex-wrap:wrap}
.ps-gbar nav a{
  color:#63635f;
  text-decoration:none;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  padding:0 .75rem;
  border-radius:999px;
  font-weight:600;
}
.ps-gbar nav a:hover{color:#242422;background:#e5edff}
.ps-gbar nav a[aria-current="page"]{
  color:#fff;
  background:linear-gradient(135deg,#2459e8,#2878ef);
  box-shadow:0 6px 18px rgba(36,89,232,.28);
}

.ps-gwrap{width:min(1120px,calc(100% - 1.5rem));margin:0 auto;padding-bottom:3rem}
.ps-gwrap h1{font-family:Fraunces,Georgia,serif;font-weight:560;letter-spacing:-.03em;font-size:clamp(1.8rem,4vw,2.7rem);margin:.2rem 0 .4rem;color:#242422}
.kicker{font-family:"IBM Plex Mono",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:#2459e8;font-size:.72rem;margin:0}
.lede{color:#5c5c56;max-width:40rem}
.ps-gfilters{display:flex;gap:.4rem;flex-wrap:wrap;margin:1rem 0;align-items:center}
.ps-gfilters button,.ps-feat-link{
  font:inherit;
  color:#242422;
  background:rgba(255,253,249,.72);
  border:1px solid rgba(36,36,34,.12);
  border-radius:999px;
  min-height:44px;
  padding:.35rem .9rem;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
}
.ps-gfilters button.is-on,.ps-feat-link.is-on{
  color:#fff;
  background:#2459e8;
  border-color:#2459e8;
}
.ps-gsec{margin:1.2rem 0 .4rem;font-family:Fraunces,Georgia,serif;font-size:1.35rem;color:#242422}
.ps-feat-heading{
  margin:1.2rem 0 1rem;
  text-align:center;
  font-family:Fraunces,Georgia,serif;
  font-size:clamp(1.5rem,3vw,2.1rem);
  letter-spacing:-.025em;
  font-weight:560;
}
.ps-ggrid{display:grid;grid-template-columns:1fr;gap:.9rem}
@media(min-width:720px){.ps-ggrid{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.ps-ggrid{grid-template-columns:1fr 1fr 1fr}}
.ps-ggrid-featured{grid-template-columns:1fr}
@media(min-width:720px){.ps-ggrid.ps-ggrid-featured{grid-template-columns:1fr 1fr 1fr}}
a.ps-gcard{
  color:#242422;
  text-decoration:none;
  border:1px solid rgba(36,36,34,.1);
  background:#fffdf9;
  border-radius:22px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:0 12px 32px rgba(36,36,34,.06);
}
a.ps-gcard:hover{border-color:rgba(36,89,232,.35);transform:translateY(-2px)}
.ps-ggrid > a.ps-gcard:nth-child(3n+1){background:linear-gradient(165deg,#fff 40%,#e7f1ff)}
.ps-ggrid > a.ps-gcard:nth-child(3n+2){background:linear-gradient(165deg,#fff 40%,#ffe8f2)}
.ps-ggrid > a.ps-gcard:nth-child(3n){background:linear-gradient(165deg,#fff 40%,#fff1e4)}
.ps-gcard img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#e7e3dc;display:block}
.ps-gcard .body{padding:.85rem .95rem 1rem}
.ps-gcard h2{font-size:1.05rem;margin:0;color:#242422}
.ps-grow{display:flex;justify-content:space-between;gap:.6rem;align-items:center}
.diff{border-radius:999px;padding:.12rem .55rem;font-size:.75rem;border:1px solid;white-space:nowrap}
.diff-simple{color:#1d6f86;border-color:#1d6f8688;background:#fff}
.diff-mid{color:#8a3d78;border-color:#ed438b88;background:#fff}
.diff-advanced{color:#a85b12;border-color:#f5822088;background:#fff}
.prompt{font-family:Fraunces,Georgia,serif;font-size:1.05rem;line-height:1.45;color:#242422}
.phrase{position:relative;display:inline}
.phrase-btn{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.phrase-word{box-shadow:0 1.5px 0 0 #2459e8}
.tip-card{position:absolute;z-index:20;left:0;top:calc(100% + 6px);width:min(280px,70vw);background:#14151f;border:1px solid #c4a6ff66;border-radius:12px;padding:.7rem .8rem;display:grid;gap:.35rem;text-align:left;color:#f4f1ff}
.tip-card[hidden]{display:none}
.tip-kind{font-family:ui-monospace,monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#c4a6ff}
.tip-why{font-family:Outfit,"Segoe UI",sans-serif;font-size:.9rem;line-height:1.35;color:#f4f1ff}
.tip-why>span{display:block;color:#7ee7f5;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.2rem}
.ps-ggrid > a.ps-gcard:has(.phrase.is-open){z-index:5;overflow:visible}

.ps-title-row{display:flex;align-items:center;gap:.55rem .7rem;flex-wrap:wrap;margin:.15rem 0 .35rem}
.ps-title-row h1{margin:0;flex:1 1 auto}
.ps-title-meta{display:inline-flex;align-items:center;gap:.45rem;margin-left:auto}
.ps-games-body .model-chip{
  color:#2459e8;
  white-space:nowrap;
  border:1px solid rgba(36,89,232,.35);
  background:#fff;
  border-radius:999px;
  padding:.2rem .6rem;
  font-size:.78rem;
  font-weight:650;
  line-height:1.2;
}
.ps-games-body .ps-thumb-btn{
  appearance:none;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  margin:0;
  padding:.28rem .7rem;
  min-height:36px;
  border-radius:999px;
  border:1px solid rgba(36,89,232,.28);
  background:#fff;
  color:#242422;
  font:inherit;
  font-size:.9rem;
  font-weight:650;
  line-height:1;
  cursor:pointer;
  box-shadow:0 4px 14px rgba(36,36,34,.05);
}
.ps-games-body .ps-thumb-btn:hover{border-color:#2459e8;background:#eef3ff}
.ps-games-body .ps-thumb-btn.is-on{
  color:#2459e8;
  border-color:#2459e8;
  background:linear-gradient(135deg,#e7f1ff,#ffe8f2);
}
.ps-games-body .ps-thumb-btn:disabled{opacity:.7;cursor:wait}

.ps-stage-row{display:grid;grid-template-columns:1fr;gap:.9rem;align-items:stretch;margin-top:.4rem}
@media(min-width:900px){
  .ps-stage-row{grid-template-columns:minmax(0,1fr) 280px}
}
.frame{background:#12131c;border-radius:28px;height:min(72vh,760px);min-height:420px;position:relative;overflow:hidden;box-shadow:0 0 0 1.5px rgba(36,36,34,.08),0 28px 70px rgba(36,36,34,.12)}
.frame iframe{border:0;width:100%;height:100%;display:block;background:#12131c}
.ps-scores{
  background:rgba(255,253,249,.78);
  border:1px solid rgba(36,36,34,.1);
  border-radius:22px;
  padding:1rem 1rem 1.05rem;
  box-shadow:0 12px 32px rgba(36,36,34,.06);
  display:flex;
  flex-direction:column;
  min-height:0;
}
.ps-scores h2{font-family:Fraunces,Georgia,serif;font-size:1.2rem;margin:.1rem 0 .15rem;font-weight:560}
.ps-scores .fine{margin:.15rem 0 .55rem}
.ps-scores ol{list-style:none;margin:0;padding:0;display:grid;gap:.28rem}
.ps-scores li{display:grid;grid-template-columns:1.4rem 1fr auto;gap:.45rem;align-items:baseline;font-size:.95rem;padding:.28rem 0;border-bottom:1px solid rgba(36,36,34,.06)}
.ps-scores .rk{color:#8a8a84;font-variant-numeric:tabular-nums}
.ps-scores .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ps-scores .sc{font-variant-numeric:tabular-nums;font-weight:700}
.ps-score-empty{margin:.4rem 0 .2rem;color:#5c5c56}
.ps-name{display:grid;gap:.25rem;margin-top:auto;padding-top:.8rem;font-size:.82rem;color:#5c5c56}
.ps-name input{
  font:inherit;
  color:#242422;
  background:#fff;
  border:1px solid rgba(36,36,34,.14);
  border-radius:12px;
  min-height:44px;
  padding:.4rem .7rem;
}
.fine{color:#5c5c56;font-size:.92rem}
.ps-gfoot{display:flex;flex-wrap:wrap;gap:.35rem .85rem;margin-top:2rem;font-size:.85rem}
.ps-gfoot a{color:#8a8a84;text-decoration:none}
.ps-gfoot a:hover{color:#2459e8}
[hidden]{display:none !important}
@media(max-width:640px){
  .ps-gbar{top:.35rem;border-radius:18px;padding:.55rem .7rem}
  .ps-title-row h1{flex-basis:100%}
  .ps-title-meta{margin-left:0}
}
