/* PLUG SCRATCH OFFS v48 — isolated ticket presentation. */
.ps48-ticket{--ps-ink:#dee1d6;--ps-muted:#a3afa7;--ps-accent:#d18b57;--ps-deep:#29221b;box-sizing:border-box;position:relative;overflow:hidden;background:#171d1b;color:var(--ps-ink);border:1px solid #46514b;border-radius:6px;font-family:Inter,Arial,sans-serif;isolation:isolate;box-shadow:0 12px 30px #0003}
.ps48-ticket *{box-sizing:border-box}.ps48-mini{--ps-accent:#d1b266;--ps-deep:#383323}.ps48-supply{--ps-accent:#d18b57;--ps-deep:#372a22}.ps48-weapon{--ps-accent:#cb8074;--ps-deep:#352526}.ps48-elite{--ps-accent:#9cb69a;--ps-deep:#24322b}.ps48-blueprint{--ps-accent:#8caec0;--ps-deep:#23313a}
.ps48-mast{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 19px;background:#1a211e;border-bottom:1px solid #4c5548;position:relative;z-index:2}.ps48-brand{display:flex;align-items:center;gap:9px;min-width:0}.ps48-brand b{font:900 27px/.9 'Barlow Condensed','Arial Narrow',Impact,sans-serif;letter-spacing:-.7px;transform:skew(-5deg);color:var(--ps-accent)}.ps48-brand span{font:800 15px/1.05 'Barlow Condensed','Arial Narrow',Impact,sans-serif;max-width:55px;letter-spacing:.05em}.ps48-price{font:800 31px/1 'Barlow Condensed','Arial Narrow',Impact,sans-serif;color:var(--ps-accent);white-space:nowrap}
.ps48-scene{height:235px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 65% 28%,var(--ps-deep),#111a18 85%)}.ps48-raider{position:absolute;inset:0 0 0 23%;background:linear-gradient(90deg,#111a18,transparent 50%),url('plug-scratch-raider-v46.webp') 65% 25%/cover;opacity:.27;filter:grayscale(.85);mix-blend-mode:luminosity}.ps48-grid{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 27px,#a2ad9710 27px,#a2ad9710 28px),repeating-linear-gradient(90deg,transparent 0,transparent 27px,#a2ad9710 27px,#a2ad9710 28px);opacity:.4;mask-image:linear-gradient(90deg,#000,transparent)}.ps48-scene:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#101917 0,transparent 58%),repeating-linear-gradient(170deg,transparent 0,transparent 31px,#d3d2b508 32px,transparent 33px)}
.ps48-serial{position:absolute;top:14px;left:19px;right:19px;display:flex;justify-content:space-between;gap:10px;color:#a5b1a4;font:10px/1.4 ui-monospace,SFMono-Regular,monospace;letter-spacing:.06em;z-index:2}.ps48-serial>span:last-child{color:var(--ps-accent)}.ps48-gear{position:absolute;width:89%;height:192px;right:-9px;top:15px;color:var(--ps-accent);filter:drop-shadow(5px 9px 3px #0009);opacity:.9}.ps48-heading{position:absolute;z-index:2;left:20px;bottom:18px;right:16px}.ps48-heading>span{display:block;font:700 10px/1.5 Inter,Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:var(--ps-accent);margin:0 0 4px}.ps48-heading h3{font:900 clamp(27px,3.6vw,40px)/.95 'Barlow Condensed','Arial Narrow',Impact,sans-serif;letter-spacing:.015em;text-transform:uppercase;margin:0;color:var(--ps-ink);max-width:260px;text-shadow:0 3px 12px #000}.ps48-sideprint{position:absolute;right:7px;top:70px;writing-mode:vertical-rl;color:#829586;font:8px/1 ui-monospace,monospace;letter-spacing:.15em;z-index:2}.ps48-blueprint .ps48-grid{opacity:1;mask-image:none}.ps48-blueprint .ps48-gear{opacity:1;filter:drop-shadow(0 0 6px #8caec023)}.ps48-weapon .ps48-gear{width:100%;right:-10px;top:9px}.ps48-elite .ps48-gear{right:-20px}.ps48-mini .ps48-gear{right:-14px;transform:rotate(-5deg)}
.ps48-perf{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;border-top:1px dashed #697566;background:#202820;color:#c3ccb9;font:600 10px/1.2 Inter,Arial,sans-serif;letter-spacing:.1em}.ps48-perf:before,.ps48-perf:after{content:'';position:absolute;width:13px;height:13px;background:#101714;border:1px solid #485748;border-radius:50%;top:-7px}.ps48-perf:before{left:-8px}.ps48-perf:after{right:-8px}.ps48-stripes{width:38px;height:10px;display:block;background:linear-gradient(115deg,#a34f39 0 22%,transparent 22% 26%,#b8833d 26% 48%,transparent 48% 52%,#adb082 52% 74%,transparent 74% 78%,#7b9b9a 78%);opacity:.8}
.ps48-mini-foil{margin:4px 16px 15px;padding:22px 10px;text-align:center;border:1px solid #728078;background:repeating-linear-gradient(137deg,#85918310 0 1px,transparent 1px 7px),linear-gradient(115deg,#4d5a51,#768375 47%,#424e46);color:#11251b}.ps48-mini-foil>span{font:900 17px/1.1 'Arial Narrow',Arial,sans-serif;letter-spacing:.01em;display:block}.ps48-mini-foil small{font:700 8px/1.5 Arial,sans-serif;display:block;margin-top:6px;letter-spacing:.12em}.ps48-stub{padding:10px 17px;background:#141c17;border-top:1px solid #334437;display:flex;align-items:center;justify-content:space-between;gap:12px;font:9px/1.4 ui-monospace,SFMono-Regular,monospace;color:#8ea28f;overflow-wrap:anywhere}.ps48-barcode{display:block;width:49px;height:15px;flex-shrink:0;background:repeating-linear-gradient(90deg,#90a28c 0 1px,transparent 1px 3px,#90a28c 3px 5px,transparent 5px 6px,#90a28c 6px 7px,transparent 7px 10px);opacity:.6}
.ps48-play{position:relative;height:230px;margin:4px 16px 16px;background:#151e18;overflow:hidden;border:1px solid #6a7967;border-radius:2px}.ps48-under{position:absolute;inset:0;overflow:auto}.ps48-coating{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;z-index:2}.ps48-coating[hidden]{display:none}.ps48-loading{position:absolute;inset:0;display:grid;place-items:center;z-index:3;background:#1b2b24ed;color:#dde4d5;text-align:center;padding:22px;font:600 13px/1.6 Inter,Arial,sans-serif;pointer-events:none}.ps48-loading[hidden]{display:none}.ps48-outcome{min-height:100%;padding:22px 15px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at 50% 50%,#314f313f,transparent 80%);color:#d8e5ce;font-family:Inter,Arial,sans-serif}.ps48-outcome>span{font-size:10px;letter-spacing:.15em;color:#9eba95}.ps48-outcome h4{font:900 34px/1.1 'Barlow Condensed','Arial Narrow',Impact,sans-serif;color:#c4dcb1;margin:6px 0 10px}.ps48-items{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.ps48-items>div{display:flex;align-items:center;gap:10px;padding:7px 12px;border:1px solid #4d6445;background:#22341f}.ps48-items strong{font:800 32px/1 'Barlow Condensed','Arial Narrow',Impact,sans-serif;color:#d6dec1}.ps48-items strong i{font-style:normal;font-size:18px;margin-left:3px}.ps48-items b{font-size:12px;line-height:1.5;max-width:190px}.ps48-outcome small{font-size:11px;line-height:1.6;margin-top:13px;color:#aab89f}.ps48-outcome p{font-size:13px;line-height:1.6;margin:2px 0;color:#bec9bd}.ps48-blank{background:#1d2520}.ps48-blank h4{color:#bdc5b9}.ps48-blank>span{color:#99a397}.ps48-controls{font-family:Inter,Arial,sans-serif;margin-top:15px}.ps48-status{min-height:38px;font-size:12px;line-height:1.65;color:#abbcaf;margin:0 0 12px}.ps48-reveal{display:block;border:1px solid #987a53;background:#2e3024;color:#e0d4bd;width:100%;min-height:44px;padding:12px 15px;font:700 12px/1.5 Inter,Arial,sans-serif;cursor:pointer;border-radius:3px}.ps48-reveal:hover{background:#3b3c2d}.ps48-reveal:disabled{opacity:.55;cursor:wait}.ps48-reveal[hidden]{display:none}.ps48-no-canvas:after{content:'Your result is sealed';position:absolute;inset:0;display:grid;place-items:center;color:#bbcab4;background:#263328}.ps48-no-canvas.ps48-open:after{display:none}.ps48-open{border-color:#687662}
/* Live page integration: readable tickets instead of five narrow columns. */
.scratch-page .ticket-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}.scratch-page .ticket-card{border-color:#38463b;background:#19221c;overflow:visible}.scratch-page .ticket-card>.ps48-ticket{border:0;border-radius:3px 3px 0 0;box-shadow:none}.scratch-page .ticket-card-body{padding:22px}.scratch-page .ticket-card-body>h3{display:none}.scratch-page .ticket-card .ps48-heading h3{font-size:36px;min-height:0;margin:0}.scratch-page .ticket-info>span{font-size:10px}.scratch-page .ticket-info strong{font-size:15px}.scratch-page .ticket-desc{font-size:12px;min-height:0}.scratch-page .owned-ticket{padding:0;overflow:hidden}.scratch-page .owned-ticket>.ps48-ticket{border:0;border-radius:0;box-shadow:none}.scratch-page .ps48-owned-body{padding:18px}.ps48-compact .ps48-scene{height:165px}.ps48-compact .ps48-gear{height:135px;top:10px}.ps48-compact .ps48-heading h3{font-size:28px}.ps48-compact .ps48-heading{bottom:13px}.ps48-compact .ps48-mini-foil{padding:15px 8px}.ps48-compact .ps48-serial{font-size:9px}.scratch-page #revealDialog{max-width:510px;background:#111a16;border-color:#435143;padding:20px}.scratch-page #revealDialog .dialog-head{margin-bottom:15px}.scratch-page #revealDialogTitle{font-size:27px}.scratch-page #revealTicketLabel{font-size:9px}.scratch-page #revealDialog .dialog-actions{margin-top:14px;padding-top:14px}.scratch-page #revealDialog .ps48-heading h3{font-size:39px}.scratch-page .ps48-hero{transform:rotate(3deg);max-width:350px;width:100%;justify-self:center;box-shadow:0 30px 60px #0006}.scratch-page .ps48-hero .ps48-scene{height:225px}.scratch-page .hero-copy h1{font-size:clamp(48px,6vw,82px)}
@media(max-width:1000px){.scratch-page .ticket-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scratch-page .ps48-hero{max-width:310px}.scratch-page .ps48-hero .ps48-heading h3{font-size:36px}}
@media(max-width:620px){.scratch-page .ticket-grid{grid-template-columns:1fr;max-width:460px;margin-inline:auto}.scratch-page .scratch-hero{grid-template-columns:1fr}.scratch-page .ps48-hero{max-width:320px;margin-top:12px}.scratch-page .ticket-card .ps48-heading h3{font-size:37px}.ps48-play{height:218px;margin-inline:12px}.ps48-mast{padding:13px 15px}.ps48-heading{left:16px}.ps48-outcome h4{font-size:30px}.ps48-items strong{font-size:29px}.ps48-items b{font-size:11px}.scratch-page #revealDialog{padding:14px;width:calc(100% - 20px)}.scratch-page #revealDialog .ps48-scene{height:190px}.scratch-page #revealDialog .ps48-heading h3{font-size:34px}.scratch-page #revealDialog .ps48-gear{height:163px}}
@media(prefers-reduced-motion:reduce){.ps48-ticket,.ps48-reveal{transition:none;animation:none}}
/* v48: nine separately scratchable spots and brighter printed ticket faces. */
.ps48-ticket{--ps-ink:#f0f1e8;--ps-muted:#b7c0bc;border-color:var(--ps-accent);border-top:4px solid var(--ps-accent);border-radius:7px;background:#172020;box-shadow:0 16px 35px #0005}
.ps48-mini{--ps-accent:#edc64e;--ps-deep:#635026}.ps48-supply{--ps-accent:#f59a46;--ps-deep:#674022}.ps48-weapon{--ps-accent:#f27d76;--ps-deep:#682f39}.ps48-elite{--ps-accent:#a8d56b;--ps-deep:#365632}.ps48-blueprint{--ps-accent:#70c5e3;--ps-deep:#275469}
.ps48-mast{padding:13px 17px;background:linear-gradient(115deg,#172321 60%,var(--ps-deep));border-bottom:1px solid #6a756a}.ps48-brand b{font-size:34px}.ps48-brand span{font-size:16px;max-width:65px}.ps48-price{background:var(--ps-accent);color:#17211c;min-width:56px;padding:8px 10px;text-align:center;transform:rotate(3deg);box-shadow:3px 3px 0 #0006;border-radius:2px;font-size:32px}
.ps48-scene{height:190px;background:radial-gradient(ellipse at 80% 10%,var(--ps-deep),#111a18 90%)}.ps48-scene:before{content:'';position:absolute;left:-25px;top:0;bottom:0;width:65px;background:var(--ps-accent);opacity:.14;transform:skew(-18deg)}.ps48-raider{opacity:.44;filter:grayscale(.4)}.ps48-gear{height:160px;top:2px;right:-14px;opacity:1;filter:drop-shadow(3px 5px 4px #0009)}.ps48-heading{bottom:16px}.ps48-heading h3{font-size:35px;max-width:290px;letter-spacing:.025em}.ps48-heading>span{font-size:11px}.ps48-serial{font-size:10px;color:#d0d4c8}.ps48-perf{background:var(--ps-deep);color:#f0efe1;font-size:10px;padding:11px 16px;border-top-color:var(--ps-accent)}.ps48-stripes{opacity:1}
.ps48-mini-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:13px 16px 8px}.ps48-mini-board>span{display:flex;justify-content:center;gap:6px;align-items:center;min-height:34px;color:#334240;border:1px solid #b3bcb2;background:repeating-linear-gradient(135deg,#17252014 0 1px,transparent 1px 5px),linear-gradient(110deg,#899792,#e3e5d6 50%,#899b97)}.ps48-mini-board b{font:900 12px/1 Impact,'Arial Narrow',sans-serif;letter-spacing:1px}.ps48-mini-board small{font:10px ui-monospace,monospace}.ps48-mini-rule{text-align:center;font:700 10px/1.5 Arial,sans-serif;color:var(--ps-accent);padding:0 10px 12px;letter-spacing:.04em}
.ps48-rules{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 12px}.ps48-rules>strong{font:900 18px/1.15 Impact,'Arial Narrow',Arial,sans-serif;color:var(--ps-accent);max-width:125px}.ps48-rules>strong b{font-size:27px}.ps48-rules>span{font:11px/1.5 Arial,sans-serif;color:#d0d8d2;text-align:right}
.ps48-game{position:relative;padding:0 15px}.ps48-spots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.ps48-spot{position:relative;display:block;min-width:0;width:100%;min-height:74px;aspect-ratio:1.35;border:1px solid #929e92;border-radius:4px;overflow:hidden;background:radial-gradient(ellipse at 50% 15%,var(--ps-deep),#14201d);padding:0;touch-action:none;user-select:none;cursor:crosshair;color:var(--ps-accent);box-shadow:inset 0 0 10px #0003;font-family:Arial,sans-serif;-webkit-appearance:none;appearance:none}.ps48-spot:focus-visible{outline:3px solid var(--ps-accent);outline-offset:2px}.ps48-symbol{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.ps48-symbol>b{font:500 37px/1 Arial,sans-serif;text-shadow:0 0 15px var(--ps-accent)}.ps48-symbol>small{font:800 10px/1.3 Arial,sans-serif;letter-spacing:.08em;color:#e0e7df}.ps48-spot-open{border-color:#6a7e6a;cursor:default}.ps48-matched{border:2px solid var(--ps-accent);background:var(--ps-deep);box-shadow:inset 0 0 12px #d6db9d1a}.ps48-matched:after{content:'MATCH';position:absolute;top:3px;right:3px;color:var(--ps-accent);font:800 8px/1 Arial,sans-serif;letter-spacing:.04em}.ps48-matched .ps48-symbol{padding-top:5px}
.ps48-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;z-index:1;background:linear-gradient(120deg,#aab5af,#dfe2d7 50%,#81928e);color:#2b4036;font:900 21px/1 Impact,Arial,sans-serif}.ps48-fallback small{font:700 10px Arial,sans-serif}.ps48-coating{border-radius:3px}.ps48-spot [hidden]{display:none}.ps48-loading{inset:0 15px;font-size:12px;border-radius:4px}
.ps48-prize{margin:13px 15px 15px;border:1px dashed #718071;border-radius:3px;min-height:76px;background:#121c19}.ps48-prize-sealed{min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:12px}.ps48-prize-sealed span{font:600 10px Arial,sans-serif;letter-spacing:.15em;color:#a2b4a7}.ps48-prize-sealed strong{font:800 13px Arial,sans-serif;color:#d0d7c4;letter-spacing:.03em}.ps48-outcome{padding:16px 12px}.ps48-outcome h4{font-size:28px;margin:5px 0 9px;color:var(--ps-accent)}.ps48-outcome>span{color:#c6d8b4;font-size:10px}.ps48-outcome small{margin-top:9px;font-size:11px}.ps48-items{gap:6px}.ps48-items>div{padding:6px 9px}.ps48-items strong{font-size:29px}.ps48-items b{font-size:12px;max-width:170px}.ps48-blank h4{color:#c4cdc4}.ps48-blank p{font-size:12px}.ps48-controls{margin-top:12px}.ps48-status{min-height:34px;margin-bottom:8px;font-size:12px}.ps48-reveal{border-color:#7c917c;background:#2a3a30;color:#eff1db}.ps48-reveal:hover{background:#384d3a}.ps48-stub{font-size:9px;color:#b5c2b3}
.ps48-compact .ps48-mini-board{gap:4px;padding:10px 13px 6px}.ps48-compact .ps48-mini-board>span{min-height:25px}.ps48-compact .ps48-mini-board b{font-size:10px}.ps48-compact .ps48-mini-rule{font-size:9px}.scratch-page #revealDialog{max-width:500px}.scratch-page .hero-visual .ps48-ticket{max-width:390px}.scratch-page .ticket-card>.ps48-ticket{border-top:4px solid var(--ps-accent)}
@media(max-width:380px){.ps48-mast{padding:11px 13px}.ps48-brand b{font-size:29px}.ps48-brand span{font-size:14px}.ps48-price{font-size:29px;min-width:51px}.ps48-scene{height:170px}.ps48-heading{left:15px}.ps48-heading h3{font-size:30px}.ps48-serial{left:15px;right:15px;font-size:9px}.ps48-game{padding:0 11px}.ps48-spots{gap:6px}.ps48-rules{padding:12px 11px;gap:8px}.ps48-rules>strong{font-size:16px;max-width:110px}.ps48-rules>span{font-size:10px}.ps48-prize{margin:11px}.ps48-symbol>b{font-size:32px}.ps48-matched:after{font-size:7px}}
