/* Plays index and play pages (v3 HUD) */
.phead{padding:calc(var(--nav-h) + clamp(48px,7vw,96px)) 0 clamp(20px,3vw,36px);position:relative;overflow:hidden;isolation:isolate}
.phead::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(55% 70% at 85% 20%,rgba(47,107,255,.2),transparent 60%),radial-gradient(35% 50% at 10% 90%,rgba(62,224,255,.08),transparent 60%)}
.phead .d1 .ln{display:block;overflow:hidden}
.phead .d1 .ln span{display:block;transform:translateY(110%);animation:rise .9s cubic-bezier(.2,.8,.2,1) forwards}
.phead .d1 .ln:nth-child(2) span{animation-delay:.12s}
.phead .d1{margin:16px 0 22px}
.pstats{display:flex;flex-wrap:wrap;gap:0 28px;margin-top:28px;padding-top:12px;border-top:1px solid rgba(62,224,255,.14);font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mu)}
.pstats span{padding:6px 0}
.pstats b{color:var(--tx);font-weight:500;margin-left:6px;font-variant-numeric:tabular-nums}
.pstats .shown b{color:var(--cy);text-shadow:0 0 10px var(--cy-glow)}

/* Play of the Day */
.potd-sec{padding:8px 0 28px}
.potd{display:grid;grid-template-columns:1fr 200px;gap:32px;align-items:center;padding:32px 34px;min-height:240px;border:1px solid rgba(62,224,255,.3);border-radius:4px;overflow:hidden;isolation:isolate;background:linear-gradient(120deg,rgba(10,22,48,.92),rgba(4,6,12,.94) 60%)}
.potd-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18;z-index:-2;filter:saturate(.6) hue-rotate(-10deg)}
.potd::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,6,12,.95) 35%,rgba(4,6,12,.4))}
.potd-k{position:absolute;top:14px;left:34px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--cy);display:flex;gap:8px;align-items:center}
.potd-k::before{content:"";width:7px;height:7px;background:var(--cy);box-shadow:0 0 10px var(--cy);animation:blink 1.4s steps(1) infinite}
.potd-scan{position:absolute;top:0;bottom:0;width:30%;left:-30%;background:linear-gradient(90deg,transparent,rgba(62,224,255,.08),transparent);animation:sweepx 5s linear infinite;z-index:-1}
@keyframes sweepx{to{left:110%}}
.potd-body{padding-top:14px}
.potd-top{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.potd-t{font-size:clamp(24px,2.8vw,38px);font-stretch:82%;font-weight:540;letter-spacing:-.025em;line-height:1.06;max-width:30ch}
.potd-s{margin:12px 0 16px;color:var(--tx-2);max-width:68ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.potd-go{color:var(--cy);font-size:14px}
.potd:hover{border-color:var(--cy);box-shadow:0 0 40px rgba(62,224,255,.15)}
.potd-clock{position:relative;width:170px;height:170px;justify-self:end;display:grid;place-items:center;text-align:center}
.potd-clock svg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 0 8px rgba(62,224,255,.45))}
.potd-left{font-family:var(--mono);font-size:15px;color:#fff;font-variant-numeric:tabular-nums;margin-top:-10px}
.potd-lbl{position:absolute;bottom:52px;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--mu)}
@media (max-width:760px){.potd{grid-template-columns:1fr}.potd-clock{justify-self:start;width:130px;height:130px}.potd-lbl{bottom:38px}}

/* Filters */
.pfilters{position:sticky;top:var(--nav-h);z-index:40;padding:14px 0;background:rgba(0,0,0,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(62,224,255,.12);border-bottom:1px solid rgba(62,224,255,.12)}
:root[data-theme="light"] .pfilters{background:rgba(244,245,247,.9)}
.search{display:flex;align-items:center;gap:12px;padding:0 16px;height:52px;border:1px solid rgba(62,224,255,.25);border-radius:4px;background:rgba(5,9,18,.8);margin-bottom:12px}
.search:focus-within{border-color:var(--cy);box-shadow:0 0 0 3px rgba(62,224,255,.12),0 0 30px rgba(62,224,255,.12)}
.search svg{width:18px;height:18px;color:var(--cy);flex:none}
.search input{flex:1;background:none;border:0;outline:0;color:var(--tx);font:400 16px var(--ff)}
.search input::placeholder{color:var(--mu)}
.search kbd{font-family:var(--mono);font-size:11px;color:var(--mu);border:1px solid var(--line-2);border-radius:3px;padding:2px 7px}
.frow{display:grid;grid-template-columns:56px 1fr;gap:12px;align-items:center;margin-top:6px}
.flabel{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mu)}
.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 0}
.chips::-webkit-scrollbar{display:none}
.chips button{flex:none;padding:6px 12px;border:1px solid var(--line-2);border-radius:99px;font-size:13px;color:var(--tx-2);white-space:nowrap;cursor:inherit;transition:border-color .2s,color .2s,background .2s}
.chips button span{margin-left:7px;font-family:var(--mono);font-size:11px;color:var(--mu)}
.chips button:hover{border-color:var(--cy);color:var(--tx)}
.chips button[aria-pressed=true]{background:rgba(62,224,255,.12);border-color:var(--cy);color:#fff;box-shadow:0 0 14px rgba(62,224,255,.18)}
.chips button[aria-pressed=true] span{color:var(--cy)}

/* Grid of play cards */
.plist{padding:28px 0 96px}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pcard{position:relative;display:flex;flex-direction:column;border:1px solid rgba(62,224,255,.14);border-radius:4px;overflow:hidden;background:linear-gradient(160deg,rgba(14,22,40,.75),rgba(5,7,12,.85));transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s}
.pcard[hidden]{display:none}
.pcard:hover{border-color:rgba(62,224,255,.45);box-shadow:0 0 36px rgba(47,107,255,.15)}
.pcard .pimg{width:100%;aspect-ratio:16/8;object-fit:cover;border-bottom:1px solid rgba(62,224,255,.12);filter:saturate(.85);transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.pcard:hover .pimg{transform:scale(1.04)}
.pbody{padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px;flex:1}
.pcard .top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pcard .cat{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mu)}
.pcard .cat::before{content:"◢ ";color:var(--cy)}
.agent{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--tx-2);padding:4px 10px 4px 5px;border:1px solid var(--line);border-radius:99px;background:rgba(0,0,0,.35);white-space:nowrap}
.agent img{width:18px;height:18px;border-radius:50%}
.pcard h3{font-size:17px;font-weight:500;letter-spacing:-.015em;line-height:1.28}
.pcard:hover h3{color:#fff}
.pcard p{font-size:13.5px;color:var(--mu);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pmeta{margin-top:auto;display:flex;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:11px;color:var(--mu);padding-top:10px;border-top:1px solid var(--line)}
.pmeta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pcard.isnew::after{content:"New";position:absolute;top:12px;left:12px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border-radius:99px;background:var(--cy);color:#001018;box-shadow:0 0 14px var(--cy)}
.pcard .save{position:absolute;top:10px;right:10px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:rgba(0,0,0,.55);border:1px solid var(--line-2);color:var(--tx-2);opacity:0;transition:opacity .2s,color .2s,border-color .2s;cursor:inherit}
.pcard .save svg{width:16px;height:16px}
.pcard:hover .save,.pcard .save[aria-pressed=true],.pcard .save:focus-visible{opacity:1}
.pcard .save[aria-pressed=true]{color:var(--cy);border-color:var(--cy)}
.btn.save[aria-pressed=true]{color:var(--cy);border-color:var(--cy)}
.pcard .save[aria-pressed=true] svg{fill:currentColor}
@media (hover:none){.pcard .save{opacity:1}}
.pempty{padding:48px 0;text-align:center;color:var(--mu)}
.pempty a{color:var(--cy)}
@media (max-width:1000px){.pgrid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.pgrid{grid-template-columns:1fr}.frow{grid-template-columns:1fr;gap:4px}}

/* Play page */
.pphead{padding:calc(var(--nav-h) + clamp(36px,5vw,72px)) 0 clamp(24px,3vw,40px);position:relative;overflow:hidden;isolation:isolate}
.pphead::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 80% at 90% 10%,rgba(47,107,255,.2),transparent 60%)}
.crumbs{display:flex;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mu);margin-bottom:18px}
.crumbs a:hover{color:var(--cy)}
.pptop{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.pphead .d2{max-width:24ch}
.pphead .lead{margin-top:16px}
.ppmeta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:20px;font-family:var(--mono);font-size:12px;color:var(--mu)}
.ppgrid{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start;padding-bottom:40px}
.ppmain{display:flex;flex-direction:column;gap:18px;min-width:0}
.phero-img{width:100%;border-radius:4px;border:1px solid rgba(62,224,255,.14)}
.prompt,.steps,.sbox{padding:22px;border:1px solid rgba(62,224,255,.18);border-radius:4px;background:linear-gradient(160deg,rgba(14,22,40,.75),rgba(5,7,12,.85))}
.prh{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.prh h2,.steps h2,.sbox h3{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--cy)}
.prb{display:flex;gap:8px}
.cp.ok{background:var(--ok);border-color:var(--ok);color:#00130a}
.prompt pre{margin:0;padding:18px;border-radius:3px;background:#02040a;border:1px solid var(--line);font:13.5px/1.65 var(--mono);color:#cfe3ff;white-space:pre-wrap;word-break:break-word;max-height:480px;overflow:auto}
.prompt pre.typing::after{content:"▋";color:var(--cy);animation:blink 1s steps(1) infinite}
.prompt .fill{color:#000;background:rgba(62,224,255,.75);padding:0 3px;border-radius:2px}
.prompt .fill:not(.on){background:none;color:var(--cy);box-shadow:inset 0 -1px 0 var(--cy)}
.prompt .fill.on{background:var(--cy);color:#001018}
.pbuild{margin-bottom:14px}
.pbh{font-size:13px;color:var(--mu);margin-bottom:10px}
.pfields{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.pfields label{display:flex;flex-direction:column;gap:4px}
.pfields span{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--cy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pfields input{height:40px;padding:0 12px;border:1px solid var(--line-2);border-radius:3px;background:#02040a;color:var(--tx);font:14px var(--ff)}
.pfields input:focus{outline:0;border-color:var(--cy);box-shadow:0 0 0 3px rgba(62,224,255,.12)}
.prnote{margin-top:12px;font-size:12.5px;color:var(--mu)}
.steps ol{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}
.steps li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--tx-2)}
.steps li:last-child{border-bottom:0}
.steps .n{font-family:var(--mono);font-size:13px;color:var(--cy);text-shadow:0 0 10px var(--cy-glow)}
.src{display:flex;flex-wrap:wrap;gap:10px}
.nosrc{font-size:13px;color:var(--mu)}
.ppside{display:flex;flex-direction:column;gap:14px;position:sticky;top:calc(var(--nav-h) + 16px)}
.sbox dl{display:grid;grid-template-columns:90px 1fr;gap:8px 12px;margin:14px 0 0;font-size:14px}
.sbox dt{color:var(--mu);font-size:12px;font-family:var(--mono)}
.sbox dd{margin:0;color:var(--tx-2)}
.toollink{display:flex;flex-direction:column;gap:10px;margin-top:14px;font-size:13px;color:var(--cy)}
.toollink .agent{align-self:flex-start}
.pnav{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-bottom:24px}
.pn{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid var(--line);border-radius:4px;transition:border-color .2s}
.pn:hover{border-color:var(--cy)}
.pn span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--mu)}
.pn b{font-weight:500;font-size:15px}
.pn.next{text-align:right;grid-column:2}
.related{padding:56px 0 96px;border-top:1px solid var(--line)}
@media (max-width:960px){.ppgrid{grid-template-columns:1fr}.ppside{position:static}}
@media (max-width:620px){.pnav{grid-template-columns:1fr}.pn.next{grid-column:1;text-align:left}}
@media (prefers-reduced-motion:reduce){.potd-scan,.potd-k::before,.prompt pre.typing::after{animation:none}.phead .d1 .ln span{transform:none;animation:none}}
.pcard .pimg.ph{position:relative;display:grid;place-items:center;background:radial-gradient(60% 90% at 50% 50%,rgba(47,107,255,.25),transparent 70%),#03060d;overflow:hidden}
.pimg.ph .ph-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(62,224,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(62,224,255,.08) 1px,transparent 1px);background-size:24px 24px;mask-image:radial-gradient(70% 90% at 50% 50%,#000,transparent)}
.pimg.ph img{position:relative;width:64px;height:64px;border-radius:14px;filter:drop-shadow(0 0 22px rgba(62,224,255,.35));transition:transform .5s}
.pcard:hover .pimg.ph img{transform:scale(1.1) rotate(-4deg)}
.pimg.ph .ph-cat{position:absolute;bottom:10px;left:14px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--cy)}
.potd-top .cat{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--mu)}
@media (max-width:620px){.pfilters{position:static}}

:root[data-theme="light"] .chips button[aria-pressed=true]{background:#1f4fe0;border-color:#1f4fe0;color:#fff;box-shadow:none}
:root[data-theme="light"] .chips button[aria-pressed=true] span{color:#dce6ff}

/* whole card clickable through the title link; Save sits above it (no button inside a link, QC 10/30) */
.pcard h3 a{color:inherit;text-decoration:none}
.pcard .plink::before{content:"";position:absolute;inset:0;z-index:1}
.pcard .plink:focus-visible{outline:none}
.pcard:has(.plink:focus-visible){outline:2px solid var(--acc-hi);outline-offset:3px}
.pcard .save{z-index:2}
:root[data-theme="light"] .potd{background:linear-gradient(160deg,#0e1830,#060912)}
/* light mode: clean white cards, not dark panels */
:root[data-theme="light"] .pcard{background:#fff;border-color:#dcdfe6;box-shadow:0 1px 2px rgba(10,11,14,.04)}
:root[data-theme="light"] .pcard:hover{border-color:#2f5fe0;box-shadow:0 8px 28px rgba(31,79,224,.12)}
:root[data-theme="light"] .pcard:hover h3{color:var(--tx)}
:root[data-theme="light"] .pcard .pimg{border-bottom-color:#e6e8ee}
:root[data-theme="light"] .pcard .pimg.ph{background:radial-gradient(60% 90% at 50% 50%,rgba(47,107,255,.14),transparent 70%),#eef1f7}
:root[data-theme="light"] .pcard .save{background:rgba(255,255,255,.9);color:#3a3e47;border-color:#dcdfe6}
:root[data-theme="light"] .search{background:#fff;border-color:#c4c8d2}
