.usm-plinko-overlay {
	position: fixed;
	inset: 0;
	background: radial-gradient(circle at top, rgba(12, 16, 38, 0.78), rgba(3, 6, 18, 0.92));
	backdrop-filter: blur(7px);
	display: none;
	align-items: center;
	justify-content: center;
	padding: 18px;
	z-index: 120;
}
.usm-plinko-overlay.is-open,
.usm-plinko-overlay.is-closing { display: flex; }
.usm-plinko-card {
	width: min(1120px, 100%);
	border-radius: 30px;
	padding: 22px 24px 22px;
	position: relative;
	overflow: hidden;
	box-shadow: 0 32px 90px rgba(0,0,0,.56);
	border: 1px solid rgba(255,255,255,.15);
	background: linear-gradient(180deg, rgba(6, 10, 30, 0.98), rgba(4, 6, 18, 0.985));
	color: #f8fafc;
}
.usm-plinko-ambience,
.usm-plinko-depth {
	position: absolute;
	pointer-events: none;
	filter: blur(22px);
	opacity: .42;
}
.usm-plinko-ambience-a { width: 240px; height: 240px; right: -40px; top: -80px; background: rgba(56, 189, 248, 0.42); }
.usm-plinko-ambience-b { width: 280px; height: 280px; left: -60px; bottom: -120px; background: rgba(236, 72, 153, 0.34); }
.usm-plinko-head,
.usm-plinko-topbar,
.usm-plinko-drop-row,
.usm-plinko-board-wrap,
.usm-plinko-slot-row { position: relative; z-index: 2; }
.usm-plinko-head { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:12px; }
.usm-plinko-kicker { font-size:11px; letter-spacing:.35em; text-transform:uppercase; color: rgba(191,219,254,.78); margin-bottom:6px; }
.usm-plinko-title { margin:0; font-size: clamp(28px, 4vw, 44px); line-height:1.02; text-shadow: 0 0 18px rgba(34,211,238,.18); }
.usm-plinko-copy { margin:8px 0 0; font-size:15px; line-height:1.55; max-width: 840px; color: rgba(226,232,240,.92); }
.usm-plinko-chip-label {
	min-width: 70px; height:70px; border-radius:999px; display:flex; align-items:center; justify-content:center;
	font-size: 34px; line-height:1; background: radial-gradient(circle at 30% 30%, rgba(250,204,21,1), rgba(245,158,11,1) 60%, rgba(234,88,12,1));
	box-shadow: 0 0 0 4px rgba(255,255,255,.08), 0 0 36px rgba(250,204,21,.3), inset 0 10px 18px rgba(255,255,255,.22);
}
.usm-plinko-topbar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:12px; flex-wrap:wrap; }
.usm-plinko-prompt { font-weight:900; font-size:16px; letter-spacing:.02em; color:#fff; }
.usm-plinko-status { font-size:13px; color: rgba(191,219,254,.96); }
.usm-plinko-drop-row { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin: 8px 0 14px; }
.usm-plinko-drop-btn {
	border:1px solid rgba(255,255,255,.17); background: linear-gradient(180deg, rgba(45,212,191,.36), rgba(59,130,246,.18));
	color:#f8fafc; padding:10px 16px; border-radius:999px; font-weight:900; cursor:pointer;
	box-shadow: 0 10px 28px rgba(56,189,248,.18), inset 0 1px 0 rgba(255,255,255,.15);
	transition: transform .15s ease, box-shadow .15s ease;
}
.usm-plinko-drop-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(56,189,248,.25); }
.usm-plinko-drop-btn.is-primary { background: linear-gradient(180deg, rgba(236,72,153,.65), rgba(168,85,247,.28)); }
.usm-plinko-drop-btn:disabled { opacity:.5; cursor:default; transform:none; }
.usm-plinko-board-wrap { position: relative; padding: 0 8px; }
.usm-plinko-board {
	position:relative; height:620px; border-radius:28px; overflow:hidden;
	background: radial-gradient(circle at top, rgba(15,23,42,.98), rgba(3,7,18,.99));
	border:1px solid rgba(255,255,255,.08);
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 18px 36px rgba(0,0,0,.26);
}
.usm-plinko-overlay.theme-clean .usm-plinko-card { background: linear-gradient(180deg, rgba(245,247,255,.98), rgba(221,228,244,.98)); color:#0f172a; border-color: rgba(148,163,184,.35); }
.usm-plinko-overlay.theme-clean .usm-plinko-board { background: linear-gradient(180deg, rgba(248,250,252,1), rgba(226,232,240,1)); border-color: rgba(148,163,184,.28); }
.usm-plinko-overlay.theme-clean .usm-plinko-copy, .usm-plinko-overlay.theme-clean .usm-plinko-status { color: rgba(51,65,85,.9); }
.usm-plinko-overlay.theme-gold .usm-plinko-card { background: radial-gradient(circle at top, rgba(87,57,7,.94), rgba(20,12,2,.98)); border-color: rgba(250,204,21,.35); }
.usm-plinko-overlay.theme-gold .usm-plinko-board { background: radial-gradient(circle at top, rgba(120,53,15,.95), rgba(41,25,2,.98)); border-color: rgba(250,204,21,.28); }
.usm-plinko-depth-a { inset: 8% 10% auto 10%; height: 24%; background: rgba(14,165,233,.22); }
.usm-plinko-depth-b { inset: auto 12% 10% 12%; height: 26%; background: rgba(168,85,247,.20); }
.usm-plinko-track-glow { position:absolute; inset: 0; background: linear-gradient(180deg, rgba(34,211,238,.04), transparent 25%, transparent 70%, rgba(236,72,153,.05)); pointer-events:none; }
.usm-plinko-peg-layer { position:absolute; inset: 0; }
.usm-plinko-peg {
	position:absolute; width:12px; height:12px; border-radius:999px; transform: translate(-50%, -50%);
	background: radial-gradient(circle at 35% 35%, rgba(224,242,254,1), rgba(34,211,238,.96) 68%, rgba(8,145,178,1));
	box-shadow: 0 0 18px rgba(34,211,238,.6), 0 0 0 2px rgba(255,255,255,.06);
}
.usm-plinko-overlay.theme-gold .usm-plinko-peg { background: radial-gradient(circle at 35% 35%, rgba(254,249,195,1), rgba(250,204,21,.96) 68%, rgba(217,119,6,1)); box-shadow: 0 0 18px rgba(245,158,11,.5), 0 0 0 2px rgba(255,255,255,.05); }
.usm-plinko-overlay.theme-clean .usm-plinko-peg { background: rgba(51,65,85,.72); box-shadow: 0 0 0 1px rgba(255,255,255,.3); }
.usm-plinko-puck,
.usm-plinko-trail { position:absolute; left:50%; top:4.5%; transform: translate(-50%, -50%); z-index:2; }
.usm-plinko-puck {
	width: 54px; height:54px; border-radius:999px; display:flex; align-items:center; justify-content:center;
	transition: left .11s linear, top .11s linear, transform .11s linear;
	filter: drop-shadow(0 12px 24px rgba(251,191,36,.35));
}
.usm-plinko-puck-core { position:absolute; inset:0; border-radius:inherit; background: radial-gradient(circle at 30% 30%, #fde68a, #f59e0b 65%, #ea580c); box-shadow: inset 0 10px 18px rgba(255,255,255,.24), 0 0 0 5px rgba(255,255,255,.08); }
.usm-plinko-puck-glyph { position:relative; font-size:24px; line-height:1; z-index:1; }
.usm-plinko-trail {
	width: 26px; height:26px; border-radius:999px; background: radial-gradient(circle, rgba(250,204,21,.95), rgba(245,158,11,.16) 70%, transparent 74%);
	filter: blur(8px); opacity:0; transition: opacity .18s ease; pointer-events:none;
}
.usm-plinko-puck.is-dropping { animation: usm-plinko-spin .24s linear infinite; }
@keyframes usm-plinko-spin { from { transform: translate(-50%, -50%) rotate(0deg); } to { transform: translate(-50%, -50%) rotate(360deg); } }
.usm-plinko-slot-row { display:grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; margin-top: 12px; }
.usm-plinko-slot {
	position:relative; overflow:hidden; padding: 14px 10px; border-radius:18px; text-align:center; background: linear-gradient(180deg, rgba(99,102,241,.24), rgba(30,41,59,.54));
	border:1px solid rgba(255,255,255,.12); box-shadow: inset 0 0 0 1px rgba(255,255,255,.04); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
	appearance:none; color:#fff; font: inherit;
}
.usm-plinko-slot-glow { position:absolute; inset:-40% auto auto -10%; width:80%; height:150%; background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent); transform: rotate(15deg); pointer-events:none; }
.usm-plinko-slot.is-hit { transform: translateY(-8px) scale(1.03); border-color: rgba(250,204,21,.85); box-shadow: 0 0 0 2px rgba(250,204,21,.18), 0 16px 36px rgba(250,204,21,.22); }
.usm-plinko-slot-label { position:relative; z-index:1; font-weight:900; font-size:14px; line-height:1.3; }
@media (max-width: 860px) {
	.usm-plinko-board { height: 520px; }
}
@media (max-width: 720px) {
	.usm-plinko-card { padding: 18px 16px 18px; }
	.usm-plinko-board { height: 460px; }
	.usm-plinko-head { align-items:flex-start; }
	.usm-plinko-chip-label { min-width:58px; height:58px; font-size:28px; }
	.usm-plinko-puck { width:46px; height:46px; }
	.usm-plinko-slot-row { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
