/* Prism Drop skin: crystal palace, gold and prism light. Structure comes from the kit's plinko.css. */
body{background:#050a22 url(../assets/bg.jpg) center/cover no-repeat fixed}
body::before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at 50% 40%,rgba(5,10,34,.1),rgba(5,8,30,.7) 80%);pointer-events:none}
.pt-root{z-index:1}
.pt-logo{height:48px;width:auto;display:block;filter:drop-shadow(0 2px 10px rgba(0,0,0,.6))}
.pt-title{display:flex}
.pt-btn{backdrop-filter:blur(6px);border-radius:12px}
.pt-risk-btn{border-radius:12px;backdrop-filter:blur(6px)}
.pt-risk-btn.is-low.is-active{background:#4aa8ff}
.pt-risk-btn.is-high.is-active{background:#d24af0}
.pt-risk-btn.is-medium.is-active{background:#ffc040}
.pt-hint{margin:0;font-size:13px;text-align:center;opacity:.9;text-shadow:0 1px 6px #000}
/* on the RGS no idle prompt (8 Nov 2026): the message line shows only results */
html.asgf-menu .pt-hint{display:none}
.pt-stage{border-radius:14px;background:linear-gradient(180deg,rgba(12,16,58,.4),rgba(4,8,30,.62));border:1px solid rgba(255,214,120,.35);box-shadow:inset 0 0 24px rgba(120,150,255,.18);overflow:hidden}
.pt-banner{position:absolute;left:50%;top:14%;width:92%;max-width:480px;transform:translateX(-50%) scale(.7);opacity:0;transition:opacity .25s,transform .4s;pointer-events:none}
.pt-banner.is-on{opacity:1;transform:translateX(-50%) scale(1)}
.pt-result{top:8%}
.pt-result-x{color:#fff8e6}
.pt-result.is-high .pt-result-x{color:#f4b8ff}
.pt-result.is-mid .pt-result-x{color:#ffd98a}
.pt-result.is-low .pt-result-x{color:#bcd8ff;font-size:24px}
.pt-tier{font-size:16px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#ffe9a8;text-shadow:0 0 14px #b060ff}
.pt-intro{position:fixed;inset:0;z-index:40;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:rgba(3,6,24,.86) url(../assets/bg.jpg) center/cover;transition:opacity .4s;cursor:pointer}
.pt-intro::before{content:"";position:absolute;inset:0;background:rgba(3,6,24,.45)}
.pt-intro>*{position:relative}
.pt-intro.is-gone{opacity:0;pointer-events:none}
/* on the RGS the intro ends above the menu's panel, its logo giving way on a short screen (render check) */
.asgf-menu .pt-intro{bottom:var(--asgf-menu-h,0px);gap:min(24px,3vh)}
.asgf-menu .pt-intro-logo{max-height:max(48px,calc((100vh - var(--asgf-menu-h,0px)) * .4))}
.pt-intro-logo{width:min(76vw,340px);height:auto;max-height:40vh;object-fit:contain}
.pt-intro-tap{min-height:44px;padding:12px 28px;border-radius:14px;background:linear-gradient(#ffe08a,#e0a020);color:#1d1300;font-weight:800;font-size:16px;animation:pt-glow 2s ease-in-out infinite}
.pt-dialog-card{border-radius:14px}
.pt-bar{backdrop-filter:blur(10px)}
@keyframes pt-glow{50%{box-shadow:0 0 22px #ffd24a}}
@media (prefers-reduced-motion:reduce){.pt-intro-tap{animation:none}}
