@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#10152f;--navy2:#171d3c;--gold:#ffc94f;--gold2:#ffe09a;--ink:#171b2e;--muted:#737b91;--line:#e8eaf1;--paper:#fff;--bg:#f5f6fb;--blue:#3979ee;--green:#0ca86a;--shadow:0 12px 30px rgba(24,31,67,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.topbar{height:76px;padding:0 max(4vw,24px);display:flex;align-items:center;gap:38px;background:var(--navy);color:#fff;position:sticky;top:0;z-index:20;box-shadow:0 4px 22px #10152f22}.brand{display:flex;align-items:center;gap:9px;font:800 19px Manrope,sans-serif;white-space:nowrap}.brandmark{display:grid;place-items:center;width:34px;height:38px;color:var(--gold);border:1px solid #b58a39;border-radius:12px;font-size:23px}.brand-copy{display:flex;flex-direction:column;gap:2px;line-height:1.05}.header-script{font-family:inherit;font-size:10px;font-weight:500;letter-spacing:.35px;color:#ffd05b;line-height:1.15}.gold{color:var(--gold)}nav{display:flex;align-items:center;gap:26px;font-size:13px;color:#e2e5f0;flex:1}nav a:hover,.footer a:hover{color:var(--gold)}.nav-actions{display:flex;align-items:center;gap:9px}.nav-actions form{margin:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 19px;border-radius:10px;border:1px solid transparent;font-weight:700;font-size:13px;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-1px);filter:brightness(1.02)}.btn-gold{background:linear-gradient(110deg,var(--gold),#ffdc78);color:#181b2a;box-shadow:0 5px 14px #ffc94f25}.btn-outline{background:transparent;color:inherit;border-color:#c9cddd}.topbar .btn-outline{border-color:#777d9a;color:white}.btn-blue{background:#e3efff;color:#1552b7}.btn-danger{background:#fff0f0;color:#b92c38}.btn-small{padding:9px 13px;font-size:12px;border-radius:8px}.btn-full{width:100%}.container{max-width:1320px;width:92%;margin:28px auto 64px}.flash{background:#fff6d9;border:1px solid #ffe39a;border-radius:10px;padding:13px 16px;margin:0 0 18px;color:#684b00;font-size:14px}.hero{min-height:360px;display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;border-radius:22px;background:radial-gradient(ellipse at 85% 40%,#5d326d 0,transparent 35%),linear-gradient(115deg,#10152f,#1c2245 72%,#372444);color:white;box-shadow:var(--shadow);position:relative}.hero-copy{padding:48px 42px;position:relative;z-index:2}.eyebrow{display:inline-block;color:#c3912e;font-size:10px;font-weight:800;letter-spacing:1.6px;margin-bottom:12px}.hero .eyebrow{color:var(--gold2)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(30px,3.5vw,46px);line-height:1.13;letter-spacing:-1.5px;margin-bottom:18px}h2{font-size:24px;letter-spacing:-.5px;margin-bottom:7px}h3{font-size:16px;margin-bottom:7px}.hero-copy p{max-width:500px;color:#d3d6e4;line-height:1.8;font-size:15px}.hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:22px}.trust-row{display:flex;gap:22px;flex-wrap:wrap;color:#d6d9e8;font-size:11px;margin-top:30px}.hero-art{position:relative;min-height:340px;overflow:hidden;background:radial-gradient(circle at 58% 52%,#a45a47 0,#613858 25%,transparent 52%)}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#171c3a 0%,transparent 42%);pointer-events:none}.orb{position:absolute;border-radius:50%;display:grid;place-items:center;font:800 24px Manrope;color:#a72d2d;background:radial-gradient(circle at 30% 25%,#fff 0,#ffe5d9 38%,#cc4b40 78%,#742b32);border:5px solid #e5a89a;box-shadow:0 15px 30px #070a1c66;z-index:1}.orb-one{width:112px;height:112px;right:22%;top:44px;font-size:31px}.orb-two{width:74px;height:74px;right:6%;top:160px}.orb-three{width:66px;height:66px;left:9%;top:185px}.ticket-art{position:absolute;right:8%;bottom:20px;width:270px;transform:rotate(-7deg);z-index:2;background:#fff1c9;border:7px solid #c78c3d;border-radius:7px;padding:10px;color:#252038;box-shadow:0 20px 40px #090d27aa}.ticket-title{text-align:center;font:800 17px Manrope;letter-spacing:3px;padding-bottom:8px}.mini-grid{display:grid;grid-template-columns:repeat(9,1fr);border-top:1px solid #bd9c68;border-left:1px solid #bd9c68}.mini-grid span{height:26px;display:grid;place-items:center;border-right:1px solid #bd9c68;border-bottom:1px solid #bd9c68;font-size:11px;font-weight:700}.spark{position:absolute;color:var(--gold);font-size:32px;z-index:1}.spark-one{top:22px;left:40%}.spark-two{bottom:70px;right:4%}.section{margin-top:42px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:20px}.section-head p,.page-heading p{color:var(--muted);margin-bottom:0;font-size:13px}.count-pill{border:1px solid #e0e3ec;background:#fff;border-radius:30px;padding:8px 12px;color:#5e657b;font-size:12px;white-space:nowrap}.live-dot{display:inline-block;width:9px;height:9px;background:#f34d58;border-radius:50%;margin:0 7px 2px 0;box-shadow:0 0 0 4px #f34d581c}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.game-card{background:white;border:1px solid #eceef4;border-radius:15px;overflow:hidden;box-shadow:0 5px 15px #17203a08;transition:.2s}.game-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.game-image{height:150px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.image-live{background:radial-gradient(circle at 45% 45%,#a75b35,#381f43 50%,#111831)}.image-purple{background:radial-gradient(circle at 48% 48%,#f19d53,#792b78 42%,#181a46)}.image-blue{background:radial-gradient(circle at 48% 48%,#43c4f0,#274a9d 44%,#101932)}.game-image:after{content:'✦  ✧  ·  ✦';position:absolute;color:#ffffff5c;font-size:23px;letter-spacing:25px;inset:12px;pointer-events:none}.status{display:inline-flex;align-items:center;width:max-content;border-radius:6px;padding:5px 8px;font-size:9px;font-weight:800;letter-spacing:.6px}.live-status{background:#ff525d;color:white}.upcoming-status{background:#fff0c9;color:#94620b}.completed-status{background:#d9f8e9;color:#078452}.game-image .status{position:absolute;top:13px;left:13px;z-index:3}.ball-art{width:86px;height:86px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 30% 24%,#fff,#f4d9d4 45%,#b82e49 80%);border:4px solid #f2b7b2;box-shadow:0 13px 26px #05091c77;color:#a62739;font:800 25px Manrope;transform:rotate(-8deg);z-index:1}.image-blue .ball-art{background:radial-gradient(circle at 30% 24%,#fff,#d2efff 44%,#2870d9 80%);color:#1b4a9e;border-color:#a8d9f7}.date-badge{position:absolute;left:15px;bottom:14px;background:#fff;border-radius:8px;padding:7px 10px;display:grid;text-align:center;z-index:3;box-shadow:0 3px 8px #0002}.date-badge b{font:800 18px Manrope}.date-badge small{font-size:9px;color:#9a6c15;font-weight:800}.game-body{padding:17px}.game-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.game-body h3{margin-bottom:7px}.game-body p{font-size:12px;color:var(--muted);margin-bottom:15px}.players{font-size:10px;color:#d8404a;white-space:nowrap}.game-meta{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #eff0f5;padding-top:13px;margin-bottom:15px}.game-meta span{display:block;font-size:10px;color:var(--muted);margin-bottom:3px}.game-meta strong{font:800 16px Manrope}.align-right{text-align:right}.btn-full{padding:12px}.empty-state{background:#fff;border:1px dashed #dfe3ed;border-radius:16px;padding:36px 20px;text-align:center;color:var(--muted)}.empty-state h3{color:var(--ink);margin:10px 0}.empty-icon{font-size:26px;color:#d8a52e}.results-section{margin-bottom:30px}.results-list{display:grid;gap:14px}.result-card,.content-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px;box-shadow:0 5px 18px #19214306}.result-heading{display:flex;justify-content:space-between}.result-heading h3{margin:10px 0 4px}.result-heading small,.muted{color:var(--muted);font-size:12px}.trophy{font-size:30px}.winner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.winner{background:#f6f3ff;border-radius:10px;padding:12px;display:grid;gap:5px;font-size:12px}.winner span{font-weight:700}.winner small{color:var(--muted)}.auth-wrap{min-height:600px;display:grid;grid-template-columns:1fr minmax(360px,.75fr);background:#fff;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);max-width:1000px;margin:35px auto}.auth-promo{padding:55px 42px;color:#fff;background:radial-gradient(circle at 70% 35%,#59316d,transparent 35%),linear-gradient(145deg,#111630,#25284e);position:relative;overflow:hidden}.auth-promo h1{font-size:38px}.auth-promo p{line-height:1.8;color:#d5d7e7}.auth-balls{display:flex;gap:15px;margin:48px 0}.auth-balls span{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#fff,#ffe4a1 45%,#cc8426 80%);color:#744817;font:800 20px Manrope;box-shadow:0 10px 25px #0003}.auth-card{padding:32px 35px;align-self:center}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f4f5fa;border-radius:9px;padding:4px;margin-bottom:28px}.auth-tabs a{text-align:center;padding:11px;border-radius:7px;color:#626a81;font-size:13px;font-weight:700}.auth-tabs a.active{background:#fff;color:#1b55c5;box-shadow:0 2px 8px #1a214012}.auth-card h2{font-size:23px}.auth-card>p{font-size:12px}.form-stack{display:grid;gap:15px;margin-top:22px}.form-stack label,.inline-form label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#373e54}.form-stack input,.inline-form input,.inline-form select,.approval-form input{width:100%;border:1px solid #dfe3ed;border-radius:8px;padding:12px 13px;outline:none;background:#fff;color:var(--ink)}input:focus,select:focus{border-color:#7ea7f4;box-shadow:0 0 0 3px #3979ee16}.auth-foot{text-align:center;margin-top:22px;color:var(--muted)}.auth-foot a{color:#205fda;font-weight:700}.footer{padding:30px 4%;background:var(--navy);color:#fff;display:flex;align-items:center;gap:25px;flex-wrap:wrap}.footer p{color:#aeb5cd;font-size:11px;margin:0;flex:1}.footer>div:last-child{display:flex;gap:18px;font-size:12px}.page-heading{padding:26px 0 28px}.page-heading h1{font-size:34px;margin:13px 0}.back-link{display:inline-block;color:#356bd0;margin-right:15px;font-size:13px}.ticket-select-form{padding-bottom:100px}.ticket-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ticket-option{cursor:pointer;position:relative}.ticket-option>input{position:absolute;opacity:0}.ticket-option-inner{display:grid;gap:6px;padding:12px;background:white;border:1px solid #e2e6ef;border-radius:12px;transition:.15s}.ticket-option>input:checked+.ticket-option-inner{border:2px solid #3a7be9;background:#f4f8ff;padding:11px;box-shadow:0 0 0 3px #3979ee15}.ticket-option-inner b{font-size:13px}.ticket-option-inner small{font-size:10px;color:var(--muted)}.ticket-option-inner>strong{font-size:12px}.ticket-mini{display:grid;grid-template-columns:repeat(9,1fr);border-top:1px solid #d9dfeb;border-left:1px solid #d9dfeb}.ticket-mini i{height:20px;display:grid;place-items:center;border-right:1px solid #d9dfeb;border-bottom:1px solid #d9dfeb;font-size:9px;font-style:normal;color:#343b50}.ticket-mini i:empty{background:#f7f8fb}.selection-bar{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:15px max(4vw,24px);display:flex;align-items:center;justify-content:space-between;z-index:10;box-shadow:0 -5px 20px #15203a0b}.selection-bar span{display:block;color:var(--muted);font-size:11px}.selection-bar strong{display:block;margin-top:4px}.live-board{display:grid;grid-template-columns:190px 1fr;gap:20px;background:#fff;border-radius:16px;padding:22px}.last-number{width:115px;height:115px;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,#fff,#ffe2a3 50%,#d49a27);border:5px solid #e5c16a;border-radius:50%;font:800 38px Manrope;color:#67430a;margin:12px 0}.number-board{display:grid;grid-template-columns:repeat(10,1fr);gap:7px}.number-board span{display:grid;place-items:center;min-height:35px;border-radius:7px;background:#f2f4f9;color:#697187;font-size:12px;font-weight:700}.number-board span.called{background:#172047;color:#ffd46d}.content-card{margin:18px 0}.content-card h2{font-size:20px}.ticket-list>div,.selection-list>div,.game-admin-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #eff0f5}.total-line{display:flex;justify-content:space-between;padding:17px 0;border-top:1px solid var(--line);margin-top:12px}.notice{padding:12px;border-radius:9px;background:#fff5d8;color:#805c06}.notice.success{background:#e1f9ed;color:#08764d}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #edf0f5;vertical-align:top}th{color:#727b91;font-size:10px;text-transform:uppercase;letter-spacing:.5px}td small{display:block;color:var(--muted);margin-top:5px}.selection-list>div{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.selection-list>div>span:first-child{flex:1;min-width:120px}.selection-list small,.game-admin-row small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.admin-stats>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.admin-stats span{display:block;color:var(--muted);font-size:12px}.admin-stats strong{display:block;font:800 27px Manrope;margin-top:6px}.inline-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.inline-form label{min-width:170px;flex:1}.approval-form{display:grid;gap:6px;min-width:180px}.approval-form button{justify-self:start}.game-admin-row .hero-actions{margin:0}.game-admin-row form{display:flex;gap:6px;flex-wrap:wrap}hr{border:0;border-top:1px solid var(--line);margin:22px 0} @media(max-width:900px){.topbar{gap:16px;padding:0 20px}nav{gap:13px}.hero{grid-template-columns:1fr}.hero-copy{padding:38px}.hero-art{min-height:245px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.auth-wrap{grid-template-columns:1fr}.auth-promo{padding:35px}.auth-balls{margin:25px 0}.auth-card{padding:30px}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:620px){.topbar{height:auto;min-height:68px;flex-wrap:wrap;padding:12px 16px;gap:12px}.brand{font-size:16px}.header-script{font-size:9px}.brandmark{width:28px;height:31px;font-size:18px}nav{order:3;flex-basis:100%;overflow:auto;padding:5px 0;font-size:12px}.nav-actions{margin-left:auto}.container{width:94%;margin:17px auto 42px}.hero{border-radius:15px}.hero-copy{padding:28px 23px}.hero h1{font-size:32px}.hero-art{min-height:220px}.ticket-art{width:220px;right:8%;bottom:12px}.mini-grid span{height:20px}.orb-one{width:80px;height:80px;right:25%;top:20px}.orb-two{width:54px;height:54px;right:6%;top:100px}.orb-three{width:48px;height:48px;left:7%;top:130px}.section{margin-top:30px}.section-head{align-items:start}.section-head h2{font-size:21px}.game-grid{grid-template-columns:1fr;gap:13px}.game-image{height:135px}.winner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-wrap{margin:0;border-radius:15px}.auth-promo{padding:28px 23px}.auth-promo h1{font-size:30px}.auth-card{padding:24px 20px}.ticket-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ticket-option-inner{padding:8px}.ticket-mini i{height:17px;font-size:8px}.selection-bar{padding:12px 4%;gap:10px}.selection-bar .btn{padding:12px;font-size:11px}.live-board{grid-template-columns:1fr;padding:14px}.number-board{grid-template-columns:repeat(9,1fr);gap:4px}.number-board span{min-height:29px;font-size:10px}.dashboard-grid{grid-template-columns:1fr}.admin-stats{grid-template-columns:1fr 1fr}.admin-stats>div:last-child{grid-column:1/-1}.inline-form{display:grid}.inline-form label{width:100%}.game-admin-row{align-items:flex-start;flex-direction:column}.footer{align-items:flex-start;gap:14px}.footer p{flex-basis:100%}.page-heading h1{font-size:28px}.result-card,.content-card{padding:15px}}

/* Admin game management and ticket inventory additions */
.countdown{display:inline-flex;gap:7px;align-items:center;margin:7px 0 12px;padding:8px 12px;border:1px solid #dbe5fb;border-radius:10px;background:#eef4ff;color:#31538d;font-size:12px;font-weight:600}.countdown b{font-variant-numeric:tabular-nums;color:#14234b}.countdown-large{font-size:14px;padding:12px 16px}.countdown-due{background:#fff3dc;border-color:#f2d59b;color:#865600}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.form-grid label,.prize-config-row label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#303b57}.form-grid input,.form-grid textarea,.prize-config-row input,.prize-config-row select{width:100%;min-width:0;padding:11px;border:1px solid #dce2ef;border-radius:9px;background:#fff;color:#18213b;font:inherit}.form-grid .full-field{grid-column:1/-1}.form-grid button{justify-self:start}.admin-game-config{border:1px solid #e1e6f0;border-radius:12px;padding:14px;margin:12px 0}.admin-game-config summary{display:flex;flex-wrap:wrap;gap:10px;align-items:center;cursor:pointer;list-style:none}.admin-game-config summary::-webkit-details-marker{display:none}.admin-game-config summary small{width:100%;color:#6a7590}.compact-form{padding:12px 0}.prize-config-row{display:grid;grid-template-columns:.7fr 1.5fr 1fr .8fr 1.2fr;gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid #edf0f6}.prize-config-row .check-label{flex-direction:row;align-items:center;gap:6px}.prize-config-row input[type=checkbox]{width:auto}.ticket-selected .ticket-option-inner,.ticket-allocated .ticket-option-inner,.ticket-cancelled .ticket-option-inner{opacity:.72}.ticket-selected .ticket-option-inner{border-color:#eab85b;background:#fff8e8}.ticket-allocated .ticket-option-inner{border-color:#42b883;background:#eafaf2}.ticket-cancelled .ticket-option-inner{border-color:#e5a2a2;background:#fff0f0}.ticket-option small{display:block}.ticket-option input:disabled{display:none}@media(max-width:700px){.form-grid{grid-template-columns:1fr}.prize-config-row{grid-template-columns:1fr 1fr}.prize-config-row label:nth-child(2){grid-column:1/-1}.admin-game-config summary{align-items:flex-start}.admin-game-config summary small{font-size:11px}}

/* Admin game setup improvements */
.create-prizes{border:1px solid #dce3f3;background:#f8faff;border-radius:14px;padding:16px;margin:8px 0 14px}
.create-prizes h3{margin:0 0 6px}
.prize-config-row{display:grid;grid-template-columns:minmax(95px,.7fr) minmax(150px,1.4fr) minmax(105px,.8fr) minmax(95px,.7fr) minmax(145px,1fr);gap:10px;align-items:end;padding:12px 0;border-bottom:1px solid #e3e8f3}
.prize-config-row:last-child{border-bottom:0}
.prize-config-row label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#515b78}
.prize-config-row .check-label{flex-direction:row;align-items:center;gap:8px;padding-bottom:10px}
.prize-config-row input:not([type=checkbox]),.prize-config-row select{min-width:0;width:100%;box-sizing:border-box}
.admin-game-config[open]>summary{margin-bottom:18px}
.admin-game-config>summary{cursor:pointer}
.inventory-fill-form{align-items:center;background:#f8faff;border:1px solid #dce3f3;padding:12px;border-radius:12px;margin:14px 0}
.inventory-fill-form p{margin:0;flex:1}
@media(max-width:850px){.prize-config-row{grid-template-columns:1fr 1fr}.prize-config-row .check-label{padding-bottom:0}.create-prizes{padding:12px}}
@media(max-width:520px){.prize-config-row{grid-template-columns:1fr}.inventory-fill-form{align-items:stretch;flex-direction:column}}

/* Prize pool allocation feedback */
.prize-budget-status{display:block;font-size:12px;font-weight:700;margin-top:5px}
.prize-pool-input{font-weight:700}
.prize-config-row .check-label input{width:auto}

/* Winning type definition editor */
.pattern-builder{border:1px solid #dce3f3;background:#f8faff;border-radius:14px;padding:16px;margin:12px 0}
.pattern-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;margin-top:12px}
.pattern-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px;border:1px solid #d5def0;background:#fff;border-radius:8px;padding:4px;font-size:10px;text-align:center}
.pattern-cell:has(input:checked){background:#ffedbd;border-color:#e6a800;color:#694800;font-weight:800}
.pattern-cell input{margin:0}
.prize-config-row select{min-width:0}
.winner-announcements{border-color:#f0c14b;background:#fffaf0}
@media(max-width:650px){.pattern-grid{gap:3px}.pattern-cell{min-height:38px;font-size:9px;padding:2px}}

/* Winning type definition editor */
.pattern-builder{border:1px solid #dce3f3;background:#f8faff;border-radius:14px;padding:16px;margin:12px 0}
.pattern-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;margin-top:12px}
.pattern-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px;border:1px solid #d5def0;background:#fff;border-radius:8px;padding:4px;font-size:10px;text-align:center}
.pattern-cell:has(input:checked){background:#ffedbd;border-color:#e6a800;color:#694800;font-weight:800}
.pattern-cell input{margin:0}
.winner-announcements{border-color:#f0c14b;background:#fffaf0}
@media(max-width:650px){.pattern-grid{gap:3px}.pattern-cell{min-height:38px;font-size:9px;padding:2px}}

.pattern-ticket-warning{grid-column:1/-1;margin:4px 0 8px;padding:10px 12px;border:1px solid #e8b65c;border-radius:9px;background:#fff6df;color:#744b00;font-size:13px;line-height:1.45}


/* Accessible visual ticket-pattern designer */
.pattern-builder{display:block!important;width:100%;box-sizing:border-box;padding:clamp(14px,2.5vw,24px);overflow:hidden}
.pattern-builder-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.pattern-builder-heading h3{margin:5px 0 7px;font-size:20px;color:#172344}
.pattern-builder-heading p{max-width:680px;margin:0;line-height:1.55}
.pattern-selection-count{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:110px;padding:12px 16px;border:1px solid #e6b84c;border-radius:14px;background:#fff8e5;color:#755000}
.pattern-selection-count strong{font-size:27px;line-height:1.1}.pattern-selection-count span{font-size:11px;font-weight:700;margin-top:5px}
.pattern-guide{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:18px;color:#5a6680;font-size:12px}.pattern-guide-dot,.pattern-guide-empty{display:inline-block;width:13px;height:13px;border-radius:4px;background:#ffdf83;border:1px solid #d99b13}.pattern-guide-empty{margin-left:10px;background:#fff;border-color:#cfd7e6}
.pattern-grid{display:grid!important;grid-template-columns:repeat(9,minmax(0,1fr))!important;gap:8px!important;width:100%;margin-top:12px;align-items:stretch}
.pattern-row-label{grid-column:1/-1;display:flex;align-items:center;padding:4px 2px 0;color:#63708b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.pattern-cell{box-sizing:border-box!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;min-width:0!important;min-height:78px!important;width:100%!important;padding:9px 3px!important;margin:0!important;border:1px solid #d5deed!important;border-radius:12px!important;background:#fff!important;color:#35415e!important;cursor:pointer;transition:background .15s,border-color .15s,transform .15s; text-align:center}
.pattern-cell:hover{border-color:#d7a21d!important;transform:translateY(-1px)}.pattern-cell:has(input:checked){background:#fff0bf!important;border:2px solid #e1a500!important;color:#684700!important;box-shadow:0 2px 7px #d7a21d24}
.pattern-cell input{width:18px!important;height:18px!important;margin:0!important;accent-color:#c58a00;cursor:pointer}.pattern-cell-coord{font-size:11px;font-weight:800;white-space:nowrap}.pattern-cell-state{font-size:9px;color:#77819a;font-weight:600}.pattern-cell:has(input:checked) .pattern-cell-state{color:#805900;font-weight:800}
.pattern-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:15px}.pattern-tools>div{display:flex;gap:7px}.pattern-builder-note{margin-top:18px;padding:13px 15px;border:1px solid #dce5f5;border-radius:11px;background:#f0f5ff;color:#35466d}.pattern-builder-note strong{font-size:12px}.pattern-builder-note p{margin:5px 0 0;font-size:12px;line-height:1.55}
@media(max-width:650px){.pattern-grid{gap:4px!important}.pattern-cell{min-height:61px!important;padding:5px 1px!important;border-radius:8px!important}.pattern-cell-coord{font-size:9px}.pattern-cell-state{font-size:8px}.pattern-cell input{width:16px!important;height:16px!important}.pattern-builder-heading h3{font-size:18px}.pattern-selection-count{min-width:86px;padding:9px 12px}}
@media(max-width:390px){.pattern-grid{gap:2px!important}.pattern-cell{min-height:54px!important}.pattern-cell-coord{font-size:8px}.pattern-cell-state{font-size:7px}}

/* Tambola ticket-inspired winning-pattern designer */
.pattern-mode-help{margin:12px 0;padding:14px 16px;border:1px solid #cfe0ff;border-radius:12px;background:#edf5ff;color:#173a70}.pattern-mode-help strong{display:block;font-size:14px}.pattern-mode-help p{margin:5px 0 0;font-size:13px;line-height:1.5}.pattern-mode-help[data-mode="positions"]{background:#eefaf4;border-color:#b8e7ce;color:#145b3a}
.pattern-builder[data-mode="builtin"] .pattern-ticket-preview,.pattern-builder[data-mode="builtin"] .pattern-tools,.pattern-builder[data-mode="builtin"] .pattern-builder-note,.pattern-builder[data-mode="builtin"] #pattern-grid-mode-note{display:none!important}
.pattern-builder[data-mode="builtin"]{background:#fff;border-style:dashed}.pattern-builder[data-mode="builtin"] .pattern-builder-heading p{color:#66728c}
.pattern-mode-callout{margin:12px 0;padding:10px 12px;border-radius:9px;background:#fff7df;color:#765100;font-size:12px;line-height:1.5}
.pattern-ticket-preview{max-width:100%;padding:12px;background:#fff9e8;border:1px solid #f3df9a;border-radius:12px;overflow-x:auto}.pattern-ticket-colheads{display:grid;grid-template-columns:repeat(9,minmax(44px,1fr));gap:4px;margin-bottom:4px}.pattern-ticket-colheads span{display:flex;align-items:center;justify-content:center;height:24px;border-radius:5px;background:#f9e8a9;color:#6d4c00;font-size:11px;font-weight:800}.pattern-grid{display:grid!important;grid-template-columns:repeat(9,minmax(44px,1fr))!important;gap:4px!important;min-width:430px;margin:0!important;padding:5px;background:#df5366;border-radius:7px}.pattern-cell{position:relative;min-height:65px!important;border:1px solid #e6a0a9!important;border-radius:3px!important;background:#fffdf7!important;padding:5px 2px!important;gap:3px!important}.pattern-cell input{position:absolute;top:4px;right:4px;width:13px!important;height:13px!important;accent-color:#0868d7}.pattern-cell-number{display:flex;align-items:center;justify-content:center;min-height:25px;font-size:17px;font-weight:800;color:#17213b}.pattern-cell:has(.pattern-cell-number:empty){background:#f4f5f7!important}.pattern-cell:has(.pattern-cell-number:empty) .pattern-cell-number{min-height:25px}.pattern-cell-state{font-size:9px!important;letter-spacing:.02em}.pattern-cell:has(input:checked){background:#b9dcff!important;border:2px solid #1673e6!important;color:#0c4c9c!important;box-shadow:inset 0 0 0 1px #fff}.pattern-cell:has(input:checked) .pattern-cell-number{color:#084c9b}.pattern-tools{align-items:end}.pattern-template-label{display:flex;flex-direction:column;gap:6px;min-width:min(100%,290px);font-size:12px;font-weight:800;color:#34415d}.pattern-template-label select{min-width:250px;max-width:100%;padding:10px;border:1px solid #d6deec;border-radius:9px;background:white;color:#172344}.pattern-tool-buttons{display:flex;flex-wrap:wrap;gap:7px}.pattern-builder-note{background:#eefaf4;border-color:#bfe7d1;color:#145b3a}
@media(max-width:650px){.pattern-ticket-preview{padding:8px}.pattern-cell{min-height:58px!important}.pattern-cell-number{font-size:14px}.pattern-tools{align-items:stretch}.pattern-template-label,.pattern-template-label select{width:100%;min-width:0}.pattern-tool-buttons{width:100%}}

/* High-fidelity Tambola pattern studio with a live ticket preview */
.pattern-builder[data-mode="builtin"] .pattern-ticket-preview,.pattern-builder[data-mode="builtin"] .pattern-tools,.pattern-builder[data-mode="builtin"] .pattern-builder-note,.pattern-builder[data-mode="builtin"] #pattern-grid-mode-note{display:block!important}
.pattern-builder{padding:0!important;border:0!important;background:transparent!important;overflow:visible!important}
.pattern-builder-heading{margin:18px 0 16px;padding:0 2px;align-items:center}
.pattern-builder-heading h3{font-size:22px;letter-spacing:-.5px}
.pattern-builder-heading p{max-width:780px;font-size:13px;color:#687693}
.pattern-workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:16px;align-items:start}
.pattern-work-card{min-width:0;background:#fff;border:1px solid #e2e8f3;border-radius:15px;padding:18px;box-shadow:0 5px 18px rgba(25,45,85,.035)}
.pattern-side-column{display:grid;gap:16px;min-width:0}
.pattern-card-title{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}
.pattern-card-title h3{font-size:17px;color:#172344;margin:0 0 5px}
.pattern-card-title p{font-size:12px;color:#73809b;line-height:1.45;margin:0}
.pattern-ticket-badge{white-space:nowrap;border-radius:20px;background:#fff5d6;color:#7c5700;padding:6px 9px;font-size:10px;font-weight:800}
.pattern-editor-ticket{padding:12px!important;background:#fff9e8!important;border:1px solid #f1dfab!important;border-radius:12px!important;overflow-x:auto}
.pattern-editor-ticket .pattern-ticket-colheads{display:grid;grid-template-columns:42px repeat(9,minmax(0,1fr));gap:4px;margin-bottom:4px;min-width:480px}
.pattern-ticket-colheads span{height:24px;background:#ffe9a5;color:#684a00;border-radius:4px;font-size:11px}
.pattern-ticket-colheads .pattern-row-head{background:transparent;color:#8b6a26}
.pattern-editor-ticket .pattern-grid{display:grid!important;grid-template-columns:42px repeat(9,minmax(0,1fr))!important;gap:4px!important;min-width:480px;padding:5px!important;background:#e45168!important;border-radius:8px!important;margin:0!important}
.pattern-row-head{display:flex;align-items:center;justify-content:center;min-width:0;font-size:10px;font-weight:800;color:#fff6f6}
.pattern-editor-ticket .pattern-cell{min-height:68px!important;position:relative;border-radius:3px!important;border:1px solid #ef9ba8!important;background:#fffdf5!important;padding:3px!important;gap:2px!important;box-shadow:none!important}
.pattern-editor-ticket .pattern-cell input{position:absolute;top:4px;right:4px;width:13px!important;height:13px!important;opacity:0;z-index:2;cursor:pointer}
.pattern-editor-ticket .pattern-cell:focus-within{outline:2px solid #1269d3;outline-offset:1px}
.pattern-editor-ticket .pattern-cell-number{font-size:clamp(12px,1.2vw,17px);min-height:23px;color:#19233d}
.pattern-editor-ticket .pattern-cell.is-blank{background:#e8e9eb!important;border-color:#f5f5f5!important}
.pattern-editor-ticket .pattern-cell.is-blank .pattern-cell-number{min-height:23px}
.pattern-editor-ticket .pattern-cell-state{font-size:9px!important;color:#1673d6!important;font-weight:800}
.pattern-editor-ticket .pattern-cell:has(input:checked){background:#a9d2ff!important;border:2px solid #1476e8!important;box-shadow:inset 0 0 0 1px #fff!important}
.pattern-editor-ticket .pattern-cell:has(input:checked) .pattern-cell-number{color:#064a99}
.pattern-editor-ticket .pattern-cell:has(input:checked) .pattern-cell-state{color:#064a99!important}
.pattern-tools{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}
.pattern-template-label{min-width:180px;flex:1}
.pattern-template-label select{min-width:0;width:100%;font-size:12px}
.pattern-tool-buttons{display:flex;gap:7px;flex-wrap:wrap}
.pattern-tool-buttons .btn{padding:10px 12px}
.live-indicator{display:flex;align-items:center;gap:6px;color:#08794f;font-size:10px;font-weight:900;letter-spacing:.06em}
.live-indicator i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#10a66a;box-shadow:0 0 0 3px #d9f8e8}
.pattern-live-ticket-wrap{padding:12px;background:#fff4cb;border-radius:11px}
.pattern-live-ticket{background:#fffdf4;border:6px solid #df5268;border-radius:4px;padding:7px;box-shadow:0 3px 0 #bd394f}
.pattern-live-ticket-head{display:flex;justify-content:space-between;align-items:center;gap:3px;margin-bottom:7px;color:#855400;font-size:8px;font-weight:900;letter-spacing:.06em}
.pattern-live-ticket-head strong{font-size:13px;color:#9b2039;letter-spacing:.1em}
.pattern-live-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:3px}
.pattern-live-cell{display:flex;align-items:center;justify-content:center;aspect-ratio:1.1;min-width:0;border:1px solid #e3b4a6;background:#fffdf6;border-radius:2px;color:#291b1a;font-size:clamp(10px,1.1vw,15px);font-weight:800;transition:background .12s,border-color .12s,transform .12s}
.pattern-live-cell.is-blank{background:#f1f1ee;border-color:#e6e5df}
.pattern-live-cell.is-selected{background:#91c5ff;border:2px solid #2677db;color:#073f86;box-shadow:inset 0 0 0 1px #eaf5ff;transform:scale(.98)}
.pattern-live-ticket-foot{display:flex;justify-content:space-between;gap:5px;margin-top:7px;padding-top:6px;border-top:1px dashed #dfcda5;color:#8b6d3d;font-size:8px;font-weight:700}
.pattern-preview-status{margin-top:12px;padding:12px;border-radius:10px;background:#e8f8ef;border:1px solid #c8eed9;color:#116344}
.pattern-preview-status strong{font-size:12px}
.pattern-preview-status p{margin:4px 0 0;font-size:11px;line-height:1.5;color:#326c56}
.pattern-selected-chips{display:flex;flex-wrap:wrap;gap:7px;min-height:30px}
.pattern-position-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 8px;border-radius:7px;background:#e8f2ff;color:#1555a6;font-size:11px;font-weight:800}
.pattern-position-chip button{border:0;background:transparent;color:#1555a6;font-size:16px;line-height:1;cursor:pointer;padding:0 1px}
.pattern-builder-note{margin-top:13px!important;padding:12px!important;border-radius:10px!important;background:#eaf3ff!important;border-color:#d5e6ff!important;color:#24436f!important}
.pattern-builder-note ul{margin:6px 0 0;padding-left:17px;font-size:11px;line-height:1.6}
.pattern-builder-note p{font-size:11px}
@media(max-width:900px){.pattern-workspace{grid-template-columns:1fr}.pattern-side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.pattern-editor-ticket .pattern-grid,.pattern-editor-ticket .pattern-ticket-colheads{min-width:0}.pattern-editor-ticket .pattern-cell{min-height:58px!important}}
@media(max-width:620px){.pattern-side-column{grid-template-columns:1fr}.pattern-work-card{padding:12px}.pattern-editor-ticket{padding:7px!important}.pattern-editor-ticket .pattern-grid{grid-template-columns:30px repeat(9,minmax(26px,1fr))!important;min-width:330px}.pattern-editor-ticket .pattern-ticket-colheads{grid-template-columns:30px repeat(9,minmax(26px,1fr));min-width:330px}.pattern-editor-ticket .pattern-cell{min-height:51px!important}.pattern-row-head{font-size:8px}.pattern-card-title{flex-wrap:wrap}.pattern-builder-heading{align-items:flex-start}.pattern-tool-buttons{width:100%}}

/* Actionable readiness warnings for winning pattern configuration */
.pattern-setup-status{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:2px}
.setup-pill{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;font-size:11px;line-height:1.35;font-weight:800}
.setup-pill-danger{background:#fff0ef;border:1px solid #f2b6b2;color:#9b2823}
.setup-fix-button{font-size:11px;padding:7px 10px}

/* Distinguish a built-in-rule illustration from saved custom pattern positions. */
.pattern-editor-ticket .pattern-cell.is-template-preview{background:#fff0bf!important;border:2px solid #d99a00!important;color:#704800!important;box-shadow:inset 0 0 0 1px #fff!important}
.pattern-editor-ticket .pattern-cell.is-template-preview .pattern-cell-number{color:#704800!important}
.pattern-editor-ticket .pattern-cell.is-template-preview .pattern-cell-state{color:#8a5a00!important}
.pattern-live-cell.is-template-preview{background:#ffe6a3!important;border:2px solid #d99a00!important;color:#704800!important;box-shadow:inset 0 0 0 1px #fff}
.pattern-template-note{flex-basis:100%;margin:4px 0 0;font-size:11px;line-height:1.5;color:#596783}


/* Admin dashboard refresh */
.admin-dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:8px 0 20px}
.admin-dashboard-heading .page-heading{margin:0;flex:1}
.admin-dashboard-heading .page-heading h1{margin:3px 0 6px}
.winning-types-callout{display:flex;align-items:center;gap:13px;min-width:300px;max-width:430px;padding:14px 17px;border:1px solid #f4bd4c;border-radius:13px;background:linear-gradient(110deg,#fffaf0,#fff4dc);color:#17213e;text-decoration:none;box-shadow:0 4px 12px #a56b1608}
.winning-types-callout:hover{border-color:#e6a51d;transform:translateY(-1px)}
.winning-types-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:11px;background:#ffdf91;font-size:24px}
.winning-types-callout strong,.winning-types-callout small{display:block}
.winning-types-callout strong{font-size:14px}
.winning-types-callout small{font-size:11px;color:#626d87;margin-top:4px}
.callout-chevron{margin-left:auto;font-size:25px;color:#93600b}
.admin-stats-four{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}
.admin-stats-four>div{position:relative;min-width:0;padding:17px 18px}
.admin-stats-four strong{font-size:25px;overflow-wrap:anywhere}
.admin-stats-four small{display:block;margin-top:5px;color:var(--muted);font-size:11px}
.quick-actions-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px 20px;margin:0 0 18px}
.quick-actions-card h2{font-size:16px;margin:0 0 12px}
.quick-actions-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.quick-action{display:flex;align-items:center;gap:10px;min-width:0;padding:12px;border:1px solid #dce3f2;border-radius:11px;text-decoration:none;color:#18213b;background:#fff}
.quick-action:hover{background:#f8faff;border-color:#a9c7ff}
.quick-action>span:nth-child(2){display:grid;gap:4px;min-width:0;flex:1}
.quick-action strong{font-size:12px}
.quick-action small{font-size:10px;color:var(--muted)}
.quick-action>b{font-size:22px;font-weight:500}
.quick-action-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:10px;font-size:24px}
.quick-action-icon.blue{background:#e5efff;color:#1264e8}.quick-action-icon.gold{background:#fff0d1;color:#966000}.quick-action-icon.purple{background:#f0e3ff;color:#7625c7}.quick-action-icon.green{background:#ddf8e9;color:#079455}
.admin-create-card{padding:0;overflow:hidden;margin-bottom:18px}
.admin-create-accordion>summary,.prize-accordion>summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none}
.admin-create-accordion>summary::-webkit-details-marker,.prize-accordion>summary::-webkit-details-marker{display:none}
.admin-create-accordion>summary{padding:16px 20px;min-height:54px}
.section-heading-icon{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:11px;background:#e2f1ff;color:#1264e8;font-size:26px}
.section-summary-copy{display:grid;gap:4px;flex:1}
.section-summary-copy strong{font-size:16px}
.section-summary-copy small,.prize-accordion summary small{font-size:11px;font-weight:400;color:var(--muted)}
.summary-action{margin-left:auto;background:#1769ef;color:#fff;border-radius:9px;padding:10px 14px;font-size:12px;font-weight:700}
.accordion-chevron{margin-left:8px;font-size:20px;color:#25365c;transition:transform .18s}
details[open]>summary .accordion-chevron{transform:rotate(180deg)}
.admin-create-accordion[open]>summary{border-bottom:1px solid var(--line);background:#fbfcff}
.admin-create-accordion>form{padding:20px}
.prize-accordion{border:1px solid #dce4f5;background:#f9fbff;border-radius:12px;padding:0!important;margin:8px 0 14px}
.prize-accordion>summary{padding:14px 15px;min-height:48px}
.prize-accordion>summary>span:first-child{display:grid;gap:4px;flex:1}
.prize-accordion>summary strong{font-size:13px}
.prize-summary-state{color:#6b7690;font-size:10px;border-radius:20px;background:#eef2f9;padding:5px 9px}
.prize-accordion[open]>summary{border-bottom:1px solid #dce4f5;background:#f4f7ff;border-radius:12px 12px 0 0}
.prize-accordion-body{padding:14px}
.edit-prize-accordion{margin:12px 0}
.admin-game-card{border:1px solid #dfe5f1;border-radius:13px;margin:12px 0;background:#fff;overflow:hidden}
.admin-game-config{border:0;border-radius:0;padding:0;margin:0}
.admin-game-config>summary{padding:15px;display:flex;align-items:center;gap:12px;list-style:none}
.admin-game-config>summary::-webkit-details-marker{display:none}
.admin-game-config>summary:hover{background:#fafbff}
.game-summary-main{display:grid;gap:5px;min-width:180px;flex:1}
.game-summary-main>b{font-size:14px}
.game-summary-main>small{font-size:11px;color:var(--muted);width:auto!important}
.ticket-progress{display:grid;gap:5px;width:150px;max-width:22%}
.ticket-progress-label{font-size:11px;font-weight:700;color:#202c4a}
.ticket-progress-track{height:7px;background:#e4e9f2;border-radius:9px;overflow:hidden}
.ticket-progress-track i{display:block;height:100%;background:linear-gradient(90deg,#31b979,#48c98b);border-radius:9px}
.summary-generate-button{white-space:nowrap;flex-shrink:0}
.admin-game-config[open]>summary{margin:0;border-bottom:1px solid var(--line);background:#fbfcff}
.admin-game-config[open]>.form-grid,.admin-game-config[open]>.inline-form,.admin-game-config[open]>hr,.admin-game-config[open]>h3,.admin-game-config[open]>.prize-accordion,.admin-game-config[open]>p{margin-left:16px;margin-right:16px}
.admin-game-config .compact-form{padding:16px}
.admin-game-config>hr{margin-top:8px}
.inventory-fill-form-compact{display:none}
@media(max-width:1000px){.admin-dashboard-heading{align-items:stretch;flex-direction:column}.winning-types-callout{max-width:none}.quick-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stats-four{grid-template-columns:repeat(2,minmax(0,1fr))}.ticket-progress{max-width:100%;width:110px}}
@media(max-width:620px){.quick-actions-grid{grid-template-columns:1fr}.admin-stats-four{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-create-accordion>summary{padding:12px;flex-wrap:wrap}.summary-action{margin-left:56px}.admin-game-config>summary{flex-wrap:wrap}.game-summary-main{flex-basis:100%}.ticket-progress{width:100%;max-width:100%}.summary-generate-button{white-space:normal}.prize-summary-state{display:none}.admin-create-accordion>form{padding:12px}}

/* Admin workspace and game-detail management */
body.admin-layout{background:#f4f6fb}
body.admin-layout .admin-sidebar{position:fixed;z-index:8;left:0;top:76px;bottom:0;width:216px;padding:18px 10px;background:#fff;border-right:1px solid #e6eaf2;display:flex;flex-direction:column;gap:5px;overflow-y:auto}
.admin-side-link{display:flex;align-items:center;gap:13px;min-height:43px;padding:10px 12px;border-radius:9px;color:#526080;font-size:13px;font-weight:600;text-decoration:none}
.admin-side-link>span:first-child{width:20px;text-align:center;font-size:17px;color:#687899}.admin-side-link .side-chevron{margin-left:auto}.admin-side-link:hover,.admin-side-link.active{background:#eaf2ff;color:#0865ed}.admin-side-link.active>span:first-child{color:#0865ed}
body.admin-layout .container{width:auto;max-width:none;margin:28px 24px 60px 240px;min-height:calc(100vh - 190px)}
body.admin-layout .footer{margin-left:216px}
.admin-game-detail-heading{padding-top:10px}.admin-game-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 18px}.admin-game-metrics>div{background:#fff;border:1px solid #e2e8f3;border-radius:13px;padding:17px}.admin-game-metrics small{display:block;color:#697693;font-size:11px}.admin-game-metrics strong{display:block;margin-top:6px;font:800 23px Manrope;color:#172343}
.admin-winning-rules{padding:20px}.admin-winning-pill-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-winning-rule{border:1px solid #e1e7f2;border-radius:12px;padding:14px;background:#fff}.admin-winning-rule-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-winning-rule-top strong{font-size:14px}.prize-pill,.game-winning-pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 9px;background:#e5f8ee;color:#08784d;font-size:11px;font-weight:800;white-space:nowrap}.admin-winning-rule p{font-size:12px;color:#687592;line-height:1.55;margin:10px 0}.rule-meta{display:flex;flex-wrap:wrap;gap:6px}.rule-meta span{background:#f1f4f9;color:#596783;border-radius:6px;padding:5px 7px;font-size:10px}
.admin-ticket-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.8fr);gap:18px;align-items:start}.admin-ticket-panel,.admin-purchasers-panel{padding:18px;min-width:0}.ticket-filter-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0 16px}.ticket-filter-tabs a{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #dce4f1;border-radius:9px;background:#fff;color:#596783;font-size:12px;font-weight:700;text-decoration:none}.ticket-filter-tabs a.active{background:#eaf2ff;border-color:#8bb8ff;color:#075fe3}.ticket-filter-tabs b{font-size:10px;background:#fff;border-radius:99px;padding:2px 6px}.admin-inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.admin-inventory-grid .ticket-option-inner{padding:10px;min-width:0}.admin-inventory-grid .ticket-mini i,.user-ticket-card .ticket-mini i{height:17px;font-size:8px}.ticket-holder{color:#166b50!important;overflow-wrap:anywhere}.purchaser-list{display:grid;gap:7px}.purchaser-item{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #e5eaf3;border-radius:10px;text-decoration:none;color:inherit;min-width:0}.purchaser-item:hover,.purchaser-item.active{background:#eef5ff;border-color:#94bbff}.purchaser-avatar{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:50%;background:#e4edff;color:#145dd3;font-weight:800}.purchaser-name{display:grid;gap:3px;min-width:0;flex:1}.purchaser-name strong{font-size:12px;overflow-wrap:anywhere}.purchaser-name small{font-size:10px;color:#7a859c}.purchaser-count{font-size:10px;color:#4c5b78;white-space:nowrap}.selected-purchaser-detail{border-top:1px solid #e7ebf3;margin-top:16px;padding-top:15px}.selected-user-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.selected-user-heading h3{font-size:14px;margin:0 0 12px}.user-ticket-list{display:grid;gap:10px;margin:12px 0}.user-ticket-card{border:1px solid #e3e9f3;border-radius:10px;padding:10px;min-width:0}.user-ticket-card-heading{display:flex;justify-content:space-between;align-items:center;gap:7px;margin-bottom:9px}.user-ticket-card-heading strong{font-size:12px}.user-ticket-card .ticket-mini{grid-template-columns:repeat(9,minmax(0,1fr))}.user-ticket-card .ticket-mini i{height:20px;font-size:9px}.game-summary-prize{font-weight:700;color:#7c5b12}.game-winning-pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.game-winning-pill{background:#f0f5ff;color:#305caa;font-size:9px;padding:4px 7px}.game-winning-pill b{font-weight:800}.summary-view-button{white-space:nowrap;flex-shrink:0}
@media(max-width:1100px){.admin-ticket-workspace{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr)}.admin-game-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-winning-pill-list{grid-template-columns:1fr}.admin-inventory-grid{grid-template-columns:1fr}}
@media(max-width:760px){body.admin-layout .admin-sidebar{width:60px;padding:12px 6px}.admin-side-link{justify-content:center;padding:10px 4px;font-size:0;gap:0}.admin-side-link>span:first-child{font-size:19px}.admin-side-link .side-chevron{display:none}body.admin-layout .container{margin:18px 12px 40px 72px}body.admin-layout .footer{margin-left:60px}.admin-ticket-workspace{grid-template-columns:1fr}.admin-ticket-workspace .admin-purchasers-panel{order:-1}.admin-game-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-game-config>summary .game-winning-pills{flex-basis:100%}}

/* Collapsible winning-type summary on admin game detail. */
.admin-winning-rules-collapsible{padding:0;overflow:hidden}
.admin-winning-summary{display:block;cursor:pointer;list-style:none;padding:18px 20px}
.admin-winning-summary::-webkit-details-marker{display:none}
.admin-winning-summary .section-head{margin:0;display:flex;align-items:center;gap:12px}
.admin-winning-summary .section-head>div{flex:1;min-width:0}
.admin-winning-summary h2{margin:0 0 4px}
.admin-winning-summary p{margin:0}
.admin-accordion-toggle{display:grid;place-items:center;flex:0 0 30px;height:30px;border:1px solid #dce4f1;border-radius:9px;color:#4c5d7a;font-size:20px;font-weight:600}
.admin-winning-rules-collapsible[open] .admin-accordion-toggle{font-size:0}
.admin-winning-rules-collapsible[open] .admin-accordion-toggle:before{content:'−';font-size:20px}
.admin-winning-rules-collapsible:not([open]) .admin-winning-edit{margin-left:auto}
.admin-winning-rules-collapsible[open]>.admin-winning-pill-list{padding:0 20px 20px}
.admin-winning-summary .admin-winning-edit{position:relative;z-index:1}
.admin-inventory-grid[aria-busy="true"]{opacity:.55;pointer-events:none;transition:opacity .12s ease}
[hidden]{display:none!important}
@media(max-width:600px){.admin-winning-summary{padding:14px}.admin-winning-summary .section-head{align-items:flex-start;flex-wrap:wrap}.admin-winning-summary .admin-winning-edit{order:3}.admin-winning-rules-collapsible[open]>.admin-winning-pill-list{padding:0 14px 14px}}
/* Admin inventory pagination and controls */
.ticket-inventory-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px}.ticket-search-label,.ticket-page-size-label{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:700}.ticket-search-label{flex:1;min-width:190px}.ticket-search-label input,.ticket-page-size-label select{width:100%;min-height:38px;padding:8px 10px;border:1px solid #dce4f1;border-radius:9px;background:#fff;color:var(--ink);font:inherit}.ticket-page-size-label{width:130px}.ticket-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:15px;margin-top:15px;border-top:1px solid #e8edf5;color:var(--muted);font-size:11px}.ticket-pagination-controls{display:flex;align-items:center;gap:8px}.ticket-pagination-controls>span{white-space:nowrap;font-weight:700;color:#4d5b76}.ticket-pagination button:disabled{opacity:.45;cursor:not-allowed}.admin-inventory-grid[aria-busy="true"]{opacity:.5;pointer-events:none}.admin-inventory-grid .ticket-mini{grid-template-columns:repeat(9,minmax(0,1fr))}@media(max-width:620px){.ticket-pagination{align-items:flex-start}.ticket-pagination-controls{width:100%;justify-content:space-between}.ticket-page-size-label{width:120px}}

/* Per-game individual / half-sheet / full-sheet ticket pricing selector. */
.purchase-mode-picker{display:flex;flex-wrap:wrap;gap:.65rem 1rem;align-items:center;margin:0 0 1rem;padding:1rem;border:1px solid var(--line,#d9e2f1);border-radius:14px;background:#fff}
.purchase-mode-picker legend{padding:0 .35rem;font-weight:750;color:#17213d}
.purchase-mode-picker label{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .75rem;border:1px solid #d9e2f1;border-radius:10px;font-weight:650;font-size:.9rem;cursor:pointer}
.purchase-mode-picker label:has(input:checked){border-color:#397cff;background:#edf4ff;color:#1248a0}
.purchase-mode-picker label:has(input:disabled){opacity:.48;cursor:not-allowed}
.purchase-mode-picker small{flex-basis:100%;color:#66738f;font-size:.8rem}
/* Coordinated sheet inventory */
.ticket-sheet-tag{display:inline-flex;align-self:flex-start;max-width:100%;padding:2px 5px;border-radius:5px;background:#eef4ff;color:#2456a6;font-size:.68rem;font-weight:700;}
.sheet-group-heading{grid-column:1/-1;padding:8px 10px;margin-top:6px;border-radius:8px;background:#edf2ff;color:#263e78;font-size:.82rem;font-weight:800;}
.buyer-inventory-tabs button,.sheet-inventory-tabs button{cursor:pointer;border:1px solid var(--line,#d9e1ef);background:#fff;color:var(--ink,#17213a);border-radius:9px;padding:9px 12px;font:inherit;font-weight:700;}
.buyer-inventory-tabs button.active,.sheet-inventory-tabs button.active{background:#e8f1ff;border-color:#75a7ff;color:#0755c9;}
.buyer-inventory-tabs button:disabled{opacity:.45;cursor:not-allowed;}
#buyer-ticket-grid[aria-busy="true"],#admin-inventory-grid[aria-busy="true"]{opacity:.58;pointer-events:none;}
.sheet-pagination-note{display:block;margin:-6px 0 12px;}

/* Responsive player live-game experience */
.player-live-shell{display:grid;gap:18px;max-width:1480px;margin:0 auto;color:#17213b}.player-live-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:8px 0 4px}.player-live-heading h1{font-size:clamp(24px,3vw,34px);line-height:1.12;margin:10px 0 7px;color:#111a33}.player-live-heading p{margin:0;color:#697793;font-size:13px}.player-live-badge{display:inline-flex;align-items:center;gap:7px;background:#fff0f0;color:#d82020;border-radius:7px;padding:6px 10px;font-size:10px;font-weight:900;letter-spacing:.08em}.player-live-badge i{width:7px;height:7px;background:#f22;border-radius:50%;box-shadow:0 0 0 4px #ffdada}.player-live-meta{display:flex;gap:18px;flex-wrap:wrap;color:#596985;font-size:12px;margin-top:12px}.player-live-topgrid{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(280px,1.7fr) minmax(180px,.7fr);gap:12px}.player-current-card,.player-live-recent,.player-next-card,.player-live-section{border:1px solid #e4eaf4;background:#fff;border-radius:15px;box-shadow:0 5px 20px #15244808;min-width:0}.player-current-card{background:linear-gradient(145deg,#fff2f2,#ffe6e7);padding:18px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;text-align:center}.player-current-card>span,.player-next-card>span{font-size:13px;font-weight:800;color:#d51e22}.player-current-ball{display:grid;place-items:center;width:clamp(92px,10vw,136px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 32% 25%,#ff7777 0,#ed2424 42%,#bd1010 100%);border:7px solid #ffc3c3;box-shadow:inset 0 3px 9px #fff8,0 6px 16px #c6202022;color:white;font-size:clamp(42px,5vw,65px);font-weight:900;text-shadow:0 2px 3px #8d000066}.player-current-card>strong{font-size:11px;color:#a32323}.player-live-recent{padding:16px;display:flex;flex-direction:column;justify-content:space-between;gap:14px}.player-card-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.player-card-title h2,.player-section-heading h2{font-size:16px;margin:0;color:#18213a}.player-live-pulse{font-size:10px;color:#0c8c53;background:#e7fbf0;padding:5px 8px;border-radius:30px;white-space:nowrap}.player-recent-balls{display:flex;gap:7px;flex-wrap:wrap;min-height:38px;align-items:center}.player-recent-balls span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#f0f3f8;color:#33415f;font-size:12px;font-weight:800}.player-recent-balls span:first-child,.player-recent-balls span.is-current{background:#ef2929;color:#fff;box-shadow:0 3px 8px #ed252533}.player-live-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.player-live-stats>div{background:#f3f6fc;border-radius:9px;padding:9px 6px;text-align:center;display:grid;gap:3px}.player-live-stats strong{font-size:19px;color:#17213b}.player-live-stats small{font-size:10px;color:#6b7893}.player-live-stats>div:last-child{background:#eafbf1}.player-live-stats>div:last-child strong{color:#07894c}.player-next-card{padding:18px 10px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;text-align:center;background:linear-gradient(145deg,#fffafa,#fff0f0)}.player-progress-ring{--progress:0%;width:104px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#3475ff var(--progress),#e8edf5 0);position:relative}.player-progress-ring:before{content:"";position:absolute;inset:9px;border-radius:50%;background:white}.player-progress-ring>div{position:relative;display:grid;gap:3px}.player-progress-ring strong{font-size:20px;color:#17213b}.player-progress-ring small,.player-next-card>small{font-size:10px;color:#66738e}.player-live-section{padding:17px}.player-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.player-section-heading>div{display:flex;align-items:center;gap:10px;min-width:0}.player-section-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eaf2ff;color:#1466e8;font-size:18px;font-weight:900;flex-shrink:0}.player-section-icon.trophy{background:#fff4d7;color:#bd8500}.player-section-icon.updates{background:#e9f8f0;color:#168653}.player-section-heading h2{margin:0 0 4px}.player-section-heading p{font-size:11px;color:#71809b;margin:0}.player-ticket-count{font-size:10px;font-weight:800;color:#0c8850;background:#e7faef;padding:6px 9px;border-radius:20px;white-space:nowrap}.player-owned-tickets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.player-owned-ticket{border:1px solid #e3e9f2;border-radius:12px;padding:11px;min-width:0;transition:border-color .2s,box-shadow .2s}.player-owned-ticket.has-win{border-color:#28b76b;box-shadow:0 0 0 2px #28b76b22}.player-owned-ticket-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px}.player-owned-ticket-head>div{display:grid;gap:4px;min-width:0}.player-owned-ticket-head strong{font-size:12px;overflow-wrap:anywhere;color:#18213b}.player-owned-ticket-head small{font-size:10px;color:#7b879d}.player-ticket-status{font-size:9px;color:#087d49;background:#e3faed;padding:5px 7px;border-radius:6px;white-space:nowrap;font-weight:800}.player-tambola-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:2px}.player-tambola-grid span{min-width:0;aspect-ratio:1.25;display:grid;place-items:center;border:1px solid #f0dfb8;border-radius:3px;background:#fffaf0;color:#1d2942;font-size:clamp(9px,.9vw,13px);font-weight:700}.player-tambola-grid span:empty{background:#fff5d9;color:transparent}.player-tambola-grid span.is-called{background:#f42f31;border-color:#f42f31;color:#fff;box-shadow:0 2px 5px #e82b2b2b;animation:player-mark .35s ease-out}.player-ticket-progress{height:4px;border-radius:5px;background:#edf1f7;overflow:hidden;margin-top:10px}.player-ticket-progress span{display:block;height:100%;background:linear-gradient(90deg,#1dbd71,#72e4a8);transition:width .3s}.player-ticket-foot{display:flex;justify-content:space-between;gap:6px;margin-top:7px;font-size:9px;color:#71809a}.player-live-lowergrid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);gap:12px;align-items:start}.player-prize-list{display:grid;gap:8px}.player-prize-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border-radius:11px;border:1px solid #e8edf5;background:#fafcff}.player-prize-card:nth-child(4n+1){background:#fff8e5}.player-prize-card:nth-child(4n+2){background:#eef5ff}.player-prize-card:nth-child(4n+3){background:#ecfbf2}.player-prize-card.is-won{border-color:#39bb77;box-shadow:0 0 0 2px #39bb771b}.player-prize-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#ffebae;color:#805700;font-size:20px}.player-prize-card>div{display:grid;gap:4px;min-width:0}.player-prize-card>div strong{font-size:12px}.player-prize-card>div small{font-size:10px;line-height:1.4;color:#687793}.player-prize-card>b{font-size:12px;color:#183c2b;white-space:nowrap}.player-prize-state{grid-column:2/-1;justify-self:start;font-size:9px;color:#64718a;font-weight:700}.player-prize-card.is-won .player-prize-state{color:#07864b}.player-winner-alert{display:flex;gap:12px;align-items:flex-start;padding:13px;border:1px solid #9ae4b8;border-radius:12px;background:linear-gradient(120deg,#e8fff1,#f7fff9);margin-bottom:12px;color:#12613a}.player-winner-alert>span{font-size:26px}.player-winner-alert strong{font-size:13px}.player-winner-alert p{font-size:11px;margin:5px 0 0}.player-number-board{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px}.player-number-board span{display:grid;place-items:center;aspect-ratio:1.35;border:1px solid #e4e9f2;border-radius:6px;background:#fff;color:#465572;font-size:11px;font-weight:700}.player-number-board span.is-called{background:#f12e32;border-color:#f12e32;color:#fff}.player-number-board span.is-current{outline:2px solid #ff8585;outline-offset:1px;box-shadow:0 0 0 4px #ffebeb}.player-live-legend{display:flex;gap:16px;margin-top:12px;font-size:10px;color:#71809a}.player-live-legend span{display:flex;align-items:center;gap:6px}.player-live-legend i{width:9px;height:9px;border:1px solid #dce3ee;border-radius:50%;display:inline-block}.player-live-legend i.called-dot{background:#f12e32;border-color:#f12e32}.player-empty-tickets{padding:28px 15px;text-align:center;background:#f8faff;border:1px dashed #dbe4f2;border-radius:12px;display:grid;justify-items:center;gap:8px}.player-empty-tickets>span{font-size:28px}.player-empty-tickets strong{font-size:14px}.player-empty-tickets p{font-size:11px;color:#71809a;margin:0 0 6px}.player-live-toast{position:fixed;z-index:1000;right:22px;bottom:22px;max-width:min(420px,calc(100vw - 28px));padding:15px 18px;background:#0d1931;color:#fff;border-radius:13px;box-shadow:0 12px 38px #06102d55;font-weight:700;font-size:13px}.player-live-toast[hidden]{display:none}@keyframes player-mark{0%{transform:scale(.8)}70%{transform:scale(1.12)}100%{transform:scale(1)}}
@media(max-width:1050px){.player-live-topgrid{grid-template-columns:minmax(150px,.7fr) minmax(240px,1.3fr)}.player-next-card{grid-column:1/-1;flex-direction:row;justify-content:space-between;padding:12px 18px}.player-progress-ring{width:68px}.player-progress-ring:before{inset:7px}.player-progress-ring strong{font-size:14px}.player-progress-ring small{font-size:8px}.player-owned-tickets{grid-template-columns:repeat(2,minmax(0,1fr))}.player-live-lowergrid{grid-template-columns:1fr}}
@media(max-width:650px){.player-live-shell{gap:12px;margin:0 -2px}.player-live-heading{padding:4px 2px;gap:8px}.player-live-heading h1{font-size:22px;margin:8px 0 5px}.player-live-heading p{font-size:11px;line-height:1.4}.player-live-heading>.btn{font-size:10px;padding:8px;white-space:nowrap}.player-live-meta{font-size:10px;gap:9px;margin-top:9px}.player-live-topgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.player-current-card{padding:12px 5px;gap:7px}.player-current-card>span,.player-next-card>span{font-size:11px}.player-current-ball{width:88px;font-size:42px;border-width:5px}.player-current-card>strong{font-size:9px}.player-live-recent{grid-column:1/-1;grid-row:2;padding:12px;gap:11px}.player-card-title h2,.player-section-heading h2{font-size:14px}.player-recent-balls{gap:5px}.player-recent-balls span{width:29px;height:29px;font-size:10px}.player-live-stats{gap:5px}.player-live-stats>div{padding:7px 3px}.player-live-stats strong{font-size:16px}.player-live-stats small{font-size:9px}.player-next-card{grid-column:auto;flex-direction:column;gap:6px;padding:11px 5px}.player-progress-ring{width:62px}.player-next-card>small{font-size:9px}.player-live-section{padding:12px;border-radius:12px}.player-section-heading{margin-bottom:11px}.player-section-heading p{font-size:10px;line-height:1.3}.player-section-icon{width:30px;height:30px}.player-ticket-count{font-size:9px;padding:5px 7px}.player-owned-tickets{grid-template-columns:1fr;gap:9px}.player-owned-ticket{padding:10px}.player-owned-ticket-head strong{font-size:12px}.player-tambola-grid{gap:2px}.player-tambola-grid span{font-size:11px;aspect-ratio:1.6}.player-ticket-foot{font-size:9px}.player-live-lowergrid{grid-template-columns:1fr;gap:12px}.player-prize-card{grid-template-columns:32px minmax(0,1fr) auto;gap:8px;padding:9px}.player-prize-icon{width:31px;height:31px;font-size:17px}.player-prize-card>div strong{font-size:11px}.player-prize-card>div small{font-size:9px}.player-prize-card>b{font-size:11px}.player-number-board{grid-template-columns:repeat(9,minmax(0,1fr));gap:4px}.player-number-board span{font-size:10px;aspect-ratio:1.15;border-radius:5px}.player-live-legend{font-size:9px}.player-live-toast{left:12px;right:12px;bottom:76px;max-width:none;font-size:12px}.player-empty-tickets{padding:22px 10px}}
@media(prefers-reduced-motion:reduce){.player-tambola-grid span.is-called{animation:none}.player-ticket-progress span{transition:none}}

/* Live game control center */
@media(max-width:760px){body.admin-layout .admin-sidebar{width:60px;padding:12px 6px}.admin-side-link{justify-content:center;padding:10px 4px;font-size:0;gap:0}.admin-side-link>span:first-child{font-size:19px}.admin-side-link .side-chevron{display:none}body.admin-layout .container{margin:18px 12px 40px 72px}body.admin-layout .footer{margin-left:60px}.admin-ticket-workspace{grid-template-columns:1fr}.admin-ticket-workspace .admin-purchasers-panel{order:-1}.admin-game-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-game-config>summary .game-winning-pills{flex-basis:100%}}
.live-control-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:18px 0 22px}.live-title-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.live-title-line h1{font:800 clamp(24px,3vw,34px) Manrope;margin:8px 0}.live-control-head p{color:var(--muted);font-size:13px;margin:5px 0}.lc-top-grid{display:grid;grid-template-columns:220px minmax(300px,1.5fr) 200px;gap:14px;margin-bottom:15px}.lc-current,.lc-controls,.lc-progress{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;min-width:0}.lc-current{background:linear-gradient(145deg,#fff0f0,#fff8f8);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.lc-current>span{font-weight:800;color:#bd2020}.lc-ball{width:142px;height:142px;margin:14px auto;border:7px solid #ffb5b5;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,#ff8585,#e92121 55%,#a90f0f);box-shadow:inset 0 0 0 4px #fff5;color:#fff;font:800 58px Manrope}.lc-current small{color:var(--muted)}.lc-controls h2,.lc-progress h2,.lc-section-title h2,.lc-actions h2{font:800 16px Manrope;margin:0 0 13px}.lc-call-button{display:block;width:100%;padding:15px;border:0;border-radius:9px;background:linear-gradient(120deg,#078344,#0b9b54);color:#fff;font-weight:800;font-size:15px;cursor:pointer;text-align:left}.lc-call-button small{display:block;font-size:11px;font-weight:500;margin:3px 0 0 28px}.lc-toggle{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3px 10px;padding:12px;margin-top:10px;background:#f5f7fb;border-radius:9px;font-weight:800;font-size:13px}.lc-toggle input{grid-row:span 2;width:20px;height:20px;accent-color:#1768ed}.lc-toggle small{font-weight:400;color:var(--muted)}.lc-interval{margin-top:13px;font-size:12px;font-weight:700}.lc-interval>div{display:flex;gap:6px;margin:8px 0;flex-wrap:wrap}.lc-interval button{flex:1;min-width:50px;padding:9px 5px;background:#fff;border:1px solid #dbe1ed;border-radius:7px;font-weight:700;color:var(--ink)}.lc-interval button.selected{background:#1768ed;color:white;border-color:#1768ed}.lc-interval>small{color:var(--muted);font-weight:400}.lc-action-row{margin-top:13px}.lc-progress{text-align:center}.lc-ring{width:140px;height:140px;margin:17px auto;border:12px solid #e8ebf2;border-top-color:#6378ff;border-right-color:#6378ff;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.lc-ring strong{font:800 23px Manrope}.lc-ring small{font-size:10px;color:var(--muted)}.lc-progress-foot{display:flex;gap:8px}.lc-progress-foot span{flex:1;padding:10px 5px;background:#f4f6fa;border-radius:8px;font-size:11px;color:var(--muted)}.lc-progress-foot span:last-child{background:#e8faf1}.lc-progress-foot b{display:block;font-size:17px;color:var(--ink)}.lc-progress-foot span:last-child b{color:#07834b}.lc-main-grid{display:grid;grid-template-columns:minmax(300px,1.15fr) minmax(280px,1fr) minmax(180px,.65fr);gap:14px;align-items:start}.lc-main-grid .content-card{margin:0;padding:16px;min-width:0}.lc-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.lc-section-title h2{margin:0 0 12px}.lc-section-title a{font-size:11px;color:#1768ed;margin-bottom:12px}.lc-number-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px}.lc-number-grid span{min-width:0;aspect-ratio:1.25;display:grid;place-items:center;border:1px solid #e0e5ee;border-radius:6px;background:#fff;color:#34405b;font-size:12px;font-weight:700}.lc-number-grid span.called{background:#ed3838;border-color:#ed3838;color:#fff}.lc-number-grid span.current{outline:3px solid #ff8b8b;outline-offset:1px}.lc-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:13px;color:var(--muted);font-size:10px}.lc-legend span{display:flex;align-items:center;gap:5px}.lc-legend i{width:11px;height:11px;border:1px solid #d8deea;border-radius:50%;display:inline-block}.lc-legend .called-dot{background:#ed3838;border-color:#ed3838}.lc-legend .current-dot{border:2px solid #ff6868}.lc-prize-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;margin-bottom:8px;border-radius:9px;background:linear-gradient(100deg,#fff8e6,#fffdf6)}.lc-prize-row:nth-of-type(2n){background:linear-gradient(100deg,#edf4ff,#f8fbff)}.lc-prize-row>div{min-width:0}.lc-prize-row b{display:inline-block;margin-right:8px;font-size:12px}.lc-prize-row strong{font-size:12px;color:#805400}.lc-prize-row small{display:block;color:var(--muted);font-size:10px;margin-top:5px;overflow-wrap:anywhere}.lc-prize-row>span{flex-shrink:0;font-size:10px;padding:6px 8px;border-radius:7px;background:#e8ebf2;color:#59647a}.lc-prize-row>span.won{background:#d9f8e8;color:#087447}.lc-recent-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid #edf0f5;padding:7px 0}.lc-recent-row>b{width:32px;height:32px;border-radius:50%;background:#ed3838;color:#fff;display:grid;place-items:center}.lc-recent-row span{font-size:11px;color:var(--muted);flex:1}.lc-recent-row small{font-size:9px;color:#b91c1c;background:#ffe5e5;padding:4px;border-radius:5px}.lc-actions{margin-top:14px!important}.lc-actions>div{display:flex;gap:9px;flex-wrap:wrap}
@media(max-width:1050px){.lc-top-grid{grid-template-columns:180px minmax(260px,1fr)}.lc-progress{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center}.lc-progress h2{grid-column:1/-1}.lc-ring{margin:0 auto}.lc-main-grid{grid-template-columns:1fr 1fr}.lc-recent{grid-column:1/-1}.lc-number-grid{grid-template-columns:repeat(10,minmax(0,1fr))}}
@media(max-width:760px){body.admin-layout .admin-sidebar{display:none}body.admin-layout .container{margin:14px 12px 35px;width:auto}.live-control-head{align-items:flex-start;flex-direction:column}.live-control-head>.btn{width:100%;justify-content:center}.lc-top-grid{grid-template-columns:1fr}.lc-current{padding:16px}.lc-ball{width:126px;height:126px;font-size:52px}.lc-progress{grid-column:auto;display:block}.lc-progress h2{margin-bottom:8px}.lc-ring{margin:10px auto 14px;width:130px;height:130px}.lc-main-grid{grid-template-columns:1fr}.lc-recent{grid-column:auto}.lc-number-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}.lc-number-grid span{font-size:11px;aspect-ratio:1.1}.lc-controls{padding:15px}.lc-actions>div>*{flex:1;justify-content:center}.live-title-line h1{font-size:25px}}

/* Live number call animation and accessible state feedback */
.player-current-ball.is-number-arriving{animation:ml-number-arrive .72s cubic-bezier(.2,.85,.25,1);}
@keyframes ml-number-arrive{0%{transform:scale(.72) rotate(-8deg);filter:brightness(1.4);box-shadow:0 0 0 0 rgba(239,45,45,.42)}55%{transform:scale(1.12) rotate(2deg);box-shadow:0 0 0 14px rgba(239,45,45,0)}100%{transform:scale(1);filter:none;box-shadow:none}}
.player-live-toast{position:fixed;z-index:9999;left:50%;bottom:24px;transform:translateX(-50%);max-width:min(92vw,560px);padding:14px 20px;border-radius:14px;background:#10152f;color:#fff;box-shadow:0 14px 45px #10152f38;font-weight:800;text-align:center}
.player-live-toast[hidden]{display:none}
.lc-call-button:disabled{opacity:.65;cursor:wait}
.lc-number-grid span.new-call{animation:ml-admin-number-arrive .65s ease-out}
@keyframes ml-admin-number-arrive{0%{transform:scale(.75);box-shadow:0 0 0 0 #ff7777}55%{transform:scale(1.12);box-shadow:0 0 0 7px #ff777733}100%{transform:scale(1);box-shadow:none}}

/* Player live-game voice control and winner celebration overlay. */
.player-live-heading-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.player-voice-toggle[aria-pressed="true"],.player-voice-toggle.is-voice-on{background:#e7fbf0;border-color:#80dba7;color:#087a43}.player-win-celebration[hidden]{display:none!important}.player-win-celebration{position:fixed;z-index:10050;left:50%;top:50%;transform:translate(-50%,-46%) scale(.82);width:min(440px,calc(100vw - 28px));padding:28px 24px 24px;border:1px solid #b6efc9;border-radius:24px;background:radial-gradient(circle at 50% 0,#fff8dc 0,#ffffff 44%,#edfff3 100%);box-shadow:0 24px 90px #07142c66;text-align:center;overflow:hidden;color:#13213a;opacity:0}.player-win-celebration.is-celebrating{animation:player-win-pop .55s cubic-bezier(.2,1.5,.45,1) forwards}.player-win-close{position:absolute;right:12px;top:9px;border:0;background:#e8f7ed;color:#1c6a42;border-radius:50%;width:32px;height:32px;font-size:23px;line-height:1;cursor:pointer;z-index:3}.player-win-trophy{position:relative;z-index:2;margin:0 auto 8px;width:76px;height:76px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,#ffe9a0,#ffbf36);box-shadow:0 8px 24px #e7a82b55;font-size:42px;animation:player-trophy-bounce 1.2s ease-in-out infinite alternate}.player-win-eyebrow{position:relative;z-index:2;margin:12px 0 6px;color:#12834c;font-size:10px;font-weight:900;letter-spacing:.16em}.player-win-celebration h2{position:relative;z-index:2;margin:0 0 8px;font-size:clamp(25px,6vw,32px);color:#126c3d}.player-win-copy{position:relative;z-index:2;margin:0 auto 8px;max-width:340px;color:#34415b;font-weight:700;font-size:14px;line-height:1.5}.player-win-prize{position:relative;z-index:2;display:block;margin:8px auto 18px;color:#078448;font-size:clamp(27px,7vw,36px);font-weight:950;text-shadow:0 2px #fff}.player-win-celebration .btn{position:relative;z-index:2;min-width:160px}.player-win-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.player-win-confetti:before,.player-win-confetti:after{content:"✦  ✧  ✦  ✧  ✦  ✧  ✦  ✧  ✦";position:absolute;left:-10%;width:120%;font-size:25px;letter-spacing:15px;color:#ffb92f;text-shadow:34px 30px #ec477a,80px 80px #20b978,160px 15px #4385ff,230px 115px #ffb92f,300px 42px #d65bff;animation:player-confetti-fall 2.4s linear infinite}.player-win-confetti:before{top:-20px}.player-win-confetti:after{top:15px;animation-delay:-1.2s;color:#20b978;transform:rotate(8deg)}@keyframes player-win-pop{0%{opacity:0;transform:translate(-50%,-46%) scale(.65)}70%{opacity:1;transform:translate(-50%,-52%) scale(1.04)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes player-trophy-bounce{from{transform:rotate(-7deg) scale(.96)}to{transform:rotate(7deg) scale(1.04)}}@keyframes player-confetti-fall{0%{transform:translateY(-20px) rotate(0deg);opacity:0}15%{opacity:1}100%{transform:translateY(360px) rotate(18deg);opacity:0}}
@media(max-width:650px){.player-live-heading-actions{gap:5px}.player-live-heading-actions .btn{font-size:10px;padding:8px 7px;white-space:nowrap}.player-win-celebration{padding:24px 18px 20px;border-radius:20px}.player-win-trophy{width:66px;height:66px;font-size:36px}.player-win-copy{font-size:13px}}
@media(prefers-reduced-motion:reduce){.player-win-celebration.is-celebrating,.player-win-trophy,.player-win-confetti:before,.player-win-confetti:after{animation:none!important}.player-win-celebration.is-celebrating{opacity:1;transform:translate(-50%,-50%) scale(1)}}

/* Player live-game ticket tabs and public winner ticket references */
.player-ticket-tabs{display:flex;gap:8px;align-items:center;border-bottom:1px solid #e6ebf4;padding:0 0 10px;margin-bottom:14px;overflow-x:auto}.player-ticket-tabs button{flex:0 0 auto;border:1px solid #dce5f2;background:#f7f9fd;color:#465572;border-radius:10px;padding:10px 14px;font-size:12px;font-weight:850;cursor:pointer}.player-ticket-tabs button.active{background:#eaf2ff;border-color:#8ab4ff;color:#075bd8;box-shadow:0 2px 8px #145fe514}.player-ticket-tabs button span{opacity:.78;font-weight:750}.player-ticket-tabs [role=tab][aria-selected=true]{outline:none}.player-ticket-tabs [hidden],.player-live-shell [data-player-ticket-panel][hidden]{display:none!important}.player-unsold-ticket{background:linear-gradient(145deg,#fbfcff,#f6f8fc);border-style:dashed}.player-unsold-ticket .player-tambola-grid span{background:#f5f7fb;border-color:#e1e7f0;color:#6d7890}.player-unsold-ticket .player-tambola-grid span:empty{background:#edf1f7}.player-ticket-status.unsold-status{background:#eef1f6;color:#66738a}.player-prize-winner-tickets{display:block;margin-top:2px;font-weight:850;color:#13834b!important;overflow-wrap:anywhere}.player-prize-card:not(.is-won) .player-prize-winner-tickets{color:#77839a!important;font-weight:600}
@media(max-width:650px){.player-ticket-tabs{gap:6px}.player-ticket-tabs button{padding:9px 11px;font-size:11px}.player-prize-winner-tickets{font-size:9px}}


/* Diwali-style number burst and public winning-ticket reveal. */
.player-number-celebration[hidden]{display:none!important}.player-number-celebration{position:fixed;z-index:10040;left:50%;top:45%;width:min(340px,calc(100vw - 44px));display:grid;justify-items:center;gap:12px;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.35);filter:drop-shadow(0 14px 28px #10152f55)}.player-number-celebration.is-bursting{animation:ml-diwali-pop 2.35s ease-out forwards}.player-number-burst-ball{position:relative;z-index:2;width:clamp(112px,25vw,168px);aspect-ratio:1;border:8px solid #ffb7b7;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 32% 24%,#ff8c74 0,#ff2929 42%,#b60012 100%);color:#fff;font-size:clamp(48px,12vw,78px);font-weight:950;text-shadow:0 3px 4px #8e000088;box-shadow:inset 0 4px 12px #fff8,0 0 0 5px #ff353544,0 0 45px #ffb326,0 0 95px #ffcc3b}.player-number-celebration>strong{position:relative;z-index:2;padding:10px 18px;border-radius:8px;background:linear-gradient(90deg,#ff382e,#ff741e);color:white;font-size:clamp(16px,4vw,22px);font-weight:950;letter-spacing:.04em;box-shadow:0 6px 20px #d5233155}.player-number-sparks{position:absolute;inset:-35px;pointer-events:none}.player-number-sparks i{position:absolute;left:50%;top:42%;width:7px;height:12px;border-radius:2px;background:#ffc532;box-shadow:0 0 12px currentColor;opacity:0}.player-number-sparks i:nth-child(3n){background:#ff4d63}.player-number-sparks i:nth-child(3n + 1){background:#26d6a0}.player-number-sparks i:nth-child(4n){background:#4ba1ff}.player-number-celebration.is-bursting .player-number-sparks i{animation:ml-diwali-spark 1.25s cubic-bezier(.12,.68,.2,1) forwards}.player-number-sparks i:nth-child(1){--dx:-132px;--dy:-95px;--rot:-35deg}.player-number-sparks i:nth-child(2){--dx:-88px;--dy:-145px;--rot:70deg;animation-delay:.04s}.player-number-sparks i:nth-child(3){--dx:-25px;--dy:-164px;--rot:20deg;animation-delay:.08s}.player-number-sparks i:nth-child(4){--dx:53px;--dy:-150px;--rot:75deg;animation-delay:.03s}.player-number-sparks i:nth-child(5){--dx:119px;--dy:-112px;--rot:-25deg;animation-delay:.1s}.player-number-sparks i:nth-child(6){--dx:151px;--dy:-45px;--rot:65deg;animation-delay:.06s}.player-number-sparks i:nth-child(7){--dx:146px;--dy:47px;--rot:35deg;animation-delay:.13s}.player-number-sparks i:nth-child(8){--dx:102px;--dy:119px;--rot:-65deg;animation-delay:.02s}.player-number-sparks i:nth-child(9){--dx:37px;--dy:158px;--rot:40deg;animation-delay:.09s}.player-number-sparks i:nth-child(10){--dx:-45px;--dy:155px;--rot:-20deg;animation-delay:.12s}.player-number-sparks i:nth-child(11){--dx:-113px;--dy:111px;--rot:80deg;animation-delay:.05s}.player-number-sparks i:nth-child(12){--dx:-157px;--dy:35px;--rot:-45deg;animation-delay:.11s}.player-number-sparks i:nth-child(13){--dx:-173px;--dy:-18px;--rot:55deg;animation-delay:.15s}.player-number-sparks i:nth-child(14){--dx:15px;--dy:-125px;--rot:15deg;animation-delay:.18s}.player-number-sparks i:nth-child(15){--dx:80px;--dy:80px;--rot:-55deg;animation-delay:.07s}.player-number-sparks i:nth-child(16){--dx:-72px;--dy:70px;--rot:45deg;animation-delay:.14s}.player-number-sparks i:nth-child(17){--dx:173px;--dy:-80px;--rot:25deg;animation-delay:.09s}.player-number-sparks i:nth-child(18){--dx:-150px;--dy:-70px;--rot:-65deg;animation-delay:.17s}@keyframes ml-diwali-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.25)}12%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}22%{transform:translate(-50%,-50%) scale(1)}78%{opacity:1}100%{opacity:0;transform:translate(-50%,-55%) scale(.96)}}@keyframes ml-diwali-spark{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(0)}12%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--rot)) scale(.25)}}
.player-winning-ticket-list{position:relative;z-index:2;display:grid;gap:10px;max-height:min(42vh,340px);overflow:auto;width:100%;margin:12px 0}.player-winning-ticket{padding:10px;border:1px solid #d9e8dc;border-radius:12px;background:#ffffffdc;text-align:left}.player-winning-ticket-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.player-winning-ticket-head strong{font-size:13px;color:#12213b}.player-winning-ticket-head span{font-size:10px;font-weight:800;color:#087b46;text-align:right}.player-winning-ticket-member{margin:5px 0;font-size:10px;color:#697793}.player-winning-ticket-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:2px;margin-top:8px}.player-winning-ticket-grid span{aspect-ratio:1.45;display:grid;place-items:center;min-width:0;border:1px solid #eeddb5;border-radius:3px;background:#fff8e6;color:#1c2942;font-size:clamp(9px,2.4vw,12px);font-weight:800}.player-winning-ticket-grid span:not(.has-number){background:#f4f6fa;border-color:#e4e9f1}.player-winning-ticket-grid span.has-number{background:#e8fff0;border-color:#8cdeb0}.player-win-prize[hidden]{display:none!important}
@media(max-width:650px){.player-number-celebration{top:43%;width:min(300px,calc(100vw - 36px))}.player-number-burst-ball{width:116px;font-size:52px;border-width:6px}.player-number-sparks i{width:6px;height:10px}.player-winning-ticket-list{max-height:38vh}.player-winning-ticket{padding:8px}.player-winning-ticket-grid span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.player-number-celebration.is-bursting,.player-number-celebration.is-bursting .player-number-sparks i{animation:none!important}.player-number-celebration.is-bursting{opacity:1;transform:translate(-50%,-50%) scale(1)}.player-number-sparks i{opacity:.75}}

/* Optional player-facing resume celebration and auto-updating game feed */
.lc-resume-toggle{margin-top:10px;border:1px solid #c9defe!important;background:#f0f7ff!important;border-radius:12px;padding:12px!important}
.player-resume-celebration{position:fixed;z-index:10050;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,calc(100vw - 28px));padding:30px 22px 26px;border-radius:24px;text-align:center;color:#102447;background:radial-gradient(circle at 50% 0,#d8f7ee 0,#f5fbff 58%,#e7f1ff 100%);border:2px solid #55c9a0;box-shadow:0 22px 80px #06132c66;overflow:hidden}
.player-resume-celebration[hidden]{display:none!important}.player-resume-icon{display:grid;place-items:center;margin:0 auto 14px;width:72px;height:72px;border-radius:50%;color:#fff;background:linear-gradient(145deg,#16a878,#0878e8);font-size:32px;box-shadow:0 0 0 10px #d4f5e9;position:relative;z-index:1}.player-resume-celebration strong{display:block;font-size:clamp(23px,5vw,32px);letter-spacing:.02em;color:#087f65;position:relative;z-index:1}.player-resume-celebration>span{display:block;margin-top:8px;color:#314d6d;font-weight:600;position:relative;z-index:1}.player-resume-sparks{position:absolute;inset:0;pointer-events:none}.player-resume-sparks i{position:absolute;left:50%;top:48%;width:7px;height:14px;border-radius:3px;background:#16a878;opacity:0}.player-resume-sparks i:nth-child(3n){background:#247cf0}.player-resume-sparks i:nth-child(3n + 1){background:#ffc342}.player-resume-celebration.is-resuming{animation:resumePop .5s cubic-bezier(.18,.8,.24,1.2) both}.player-resume-celebration.is-resuming .player-resume-sparks i{animation:resumeSpark 1.1s ease-out both}.player-resume-sparks i:nth-child(1){--dx:-150px;--dy:-85px}.player-resume-sparks i:nth-child(2){--dx:-95px;--dy:-120px}.player-resume-sparks i:nth-child(3){--dx:-35px;--dy:-145px}.player-resume-sparks i:nth-child(4){--dx:35px;--dy:-145px}.player-resume-sparks i:nth-child(5){--dx:100px;--dy:-112px}.player-resume-sparks i:nth-child(6){--dx:155px;--dy:-70px}.player-resume-sparks i:nth-child(7){--dx:155px;--dy:35px}.player-resume-sparks i:nth-child(8){--dx:105px;--dy:95px}.player-resume-sparks i:nth-child(9){--dx:35px;--dy:125px}.player-resume-sparks i:nth-child(10){--dx:-35px;--dy:125px}.player-resume-sparks i:nth-child(11){--dx:-105px;--dy:95px}.player-resume-sparks i:nth-child(12){--dx:-155px;--dy:35px}
@keyframes resumePop{0%{opacity:0;transform:translate(-50%,-44%) scale(.72)}75%{transform:translate(-50%,-52%) scale(1.035)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes resumeSpark{0%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(0)}15%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.2) rotate(240deg)}}
.player-game-updates{margin-top:16px}.player-game-update-list{display:grid;gap:8px}.player-game-update-row{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid #e3eaf5;border-radius:13px;background:#fff}.player-game-update-row.winner-update{background:linear-gradient(100deg,#f0fff5,#fff9e8);border-color:#a9e9c2}.player-game-update-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:12px;background:#edf4ff;font-size:19px}.winner-update .player-game-update-icon{background:#fff0bd}.player-game-update-row>div{min-width:0;flex:1}.player-game-update-row strong,.player-game-update-row small{display:block}.player-game-update-row strong{color:#15223d;font-size:14px}.player-game-update-row small{margin-top:3px;color:#66748d;overflow-wrap:anywhere}.player-game-update-row time{font-size:11px;color:#74829a;white-space:nowrap}@media(max-width:600px){.player-resume-celebration{padding:26px 15px 22px}.player-resume-icon{width:62px;height:62px}.player-game-update-row{gap:8px;padding:9px}.player-game-update-icon{flex-basis:32px;height:32px}.player-game-update-row time{font-size:10px}}@media(prefers-reduced-motion:reduce){.player-resume-celebration.is-resuming,.player-resume-celebration.is-resuming .player-resume-sparks i{animation:none!important}.player-resume-celebration.is-resuming{opacity:1;transform:translate(-50%,-50%)}}

/* Compact player live-game header on phones: keep only the home-linked brand visible. */
@media(max-width:600px){body.player-live-page .player-live-topbar{min-height:58px;height:auto;padding:10px 14px;display:flex;align-items:center;justify-content:flex-start}body.player-live-page .player-live-topbar nav,body.player-live-page .player-live-topbar .nav-actions{display:none!important}body.player-live-page .player-live-topbar .brand{margin:0;font-size:17px;gap:8px}body.player-live-page .player-live-topbar .brandmark{width:30px;height:30px;font-size:15px}.lc-resume-form{display:grid;gap:8px;margin:12px 0}.lc-resume-form small,.lc-resume-status{font-size:12px;color:#62718a}.lc-resume-button{background:linear-gradient(110deg,#1678e8,#13a77b);color:#fff;border:0;white-space:normal}}

/* Compact mobile live-game layout: one title, less vertical chrome, tighter cards. */
@media(max-width:600px){
 body.player-live-page .container{padding-top:10px;padding-bottom:18px}
 body.player-live-page .player-live-shell{gap:9px;margin:0}
 body.player-live-page .player-live-heading{padding:0 1px 2px;align-items:center;gap:8px}
 body.player-live-page .player-live-heading h1{font-size:21px;line-height:1.12;margin:5px 0 4px}
 body.player-live-page .player-live-badge{padding:4px 7px;font-size:9px}
 body.player-live-page .player-live-heading p{font-size:10px;line-height:1.3;max-width:270px}
 body.player-live-page .player-live-meta{font-size:9px;gap:7px;margin-top:6px}
 body.player-live-page .player-live-heading-actions{gap:4px}
 body.player-live-page .player-live-heading-actions .btn{font-size:9px;padding:7px 6px;border-radius:9px}
 body.player-live-page .player-live-topgrid{gap:7px}
 body.player-live-page .player-current-card{padding:9px 4px;gap:5px;border-radius:12px}
 body.player-live-page .player-current-ball{width:76px;font-size:36px;border-width:4px}
 body.player-live-page .player-current-card>span,body.player-live-page .player-next-card>span{font-size:10px}
 body.player-live-page .player-current-card>strong{font-size:8px}
 body.player-live-page .player-live-recent{padding:9px;gap:8px;border-radius:12px}
 body.player-live-page .player-card-title h2,body.player-live-page .player-section-heading h2{font-size:13px}
 body.player-live-page .player-recent-balls{gap:4px;min-height:30px}
 body.player-live-page .player-recent-balls span{width:25px;height:25px;font-size:9px}
 body.player-live-page .player-live-stats{gap:4px}
 body.player-live-page .player-live-stats>div{padding:6px 2px;border-radius:7px}
 body.player-live-page .player-live-stats strong{font-size:14px}
 body.player-live-page .player-live-stats small{font-size:8px}
 body.player-live-page .player-next-card{padding:8px 4px;gap:5px;border-radius:12px}
 body.player-live-page .player-progress-ring{width:54px}
 body.player-live-page .player-progress-ring:before{inset:6px}
 body.player-live-page .player-progress-ring strong{font-size:13px}
 body.player-live-page .player-progress-ring small,body.player-live-page .player-next-card>small{font-size:8px}
 body.player-live-page .player-live-section{padding:10px;border-radius:11px}
 body.player-live-page .player-section-heading{margin-bottom:8px;gap:7px}
 body.player-live-page .player-section-heading p{font-size:9px}
 body.player-live-page .player-section-icon{width:27px;height:27px;border-radius:8px;font-size:15px}
 body.player-live-page .player-ticket-tabs{gap:6px;padding-bottom:7px;margin-bottom:9px}
 body.player-live-page .player-ticket-tabs button{font-size:10px;padding:8px 10px;border-radius:8px}
 body.player-live-page .player-owned-tickets{gap:7px}
 body.player-live-page .player-owned-ticket{padding:8px;border-radius:10px}
 body.player-live-page .player-owned-ticket-head{margin-bottom:7px}
 body.player-live-page .player-tambola-grid span{font-size:10px;aspect-ratio:1.45}
 body.player-live-page .player-ticket-progress{margin-top:7px}
 body.player-live-page .player-ticket-foot{margin-top:5px}
 body.player-live-page .player-live-lowergrid{gap:9px}
 body.player-live-page .player-number-board{gap:3px}
 body.player-live-page .player-number-board span{font-size:9px}
}

/* Homepage conversion slider, accessible controls, and polished site footer. */
.hero-slider{position:relative;display:block;min-height:405px;overflow:hidden;padding-bottom:54px}
.hero-slider .hero-slide{display:none;grid-template-columns:1.15fr .85fr;min-height:405px;align-items:stretch}
.hero-slider .hero-slide.is-active{display:grid;animation:ml-hero-fade .42s ease both}
.hero-slider .hero-copy{align-self:center}
.hero-slider .hero-art{min-height:340px}
.hero-art-alt{background:radial-gradient(circle at 55% 55%,#3f557a 0,transparent 35%)}
.hero-art-gold{background:radial-gradient(circle at 55% 55%,#78502a 0,transparent 36%)}
.hero-slider-controls{position:absolute;left:4%;right:4%;bottom:17px;display:flex;align-items:center;justify-content:space-between;z-index:3}
.hero-dots{display:flex;gap:8px;align-items:center}
.hero-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#ffffff65;cursor:pointer;transition:width .2s,background .2s}
.hero-dots button.is-active{width:25px;border-radius:99px;background:#ffd05b}
.hero-arrows{display:flex;gap:7px}
.hero-arrows button{width:32px;height:32px;border:1px solid #ffffff70;border-radius:50%;background:#ffffff12;color:white;font-size:17px;cursor:pointer}
.hero-arrows button:hover,.hero-arrows button:focus-visible{background:#ffd05b;color:#151a37;border-color:#ffd05b}
@keyframes ml-hero-fade{from{opacity:.45;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.footer{padding:34px 4% 20px;display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(140px,.7fr) minmax(140px,.7fr);gap:30px 42px;align-items:start}
.footer-main{max-width:440px;display:grid;gap:13px}
.footer-brand{width:max-content;text-decoration:none}
.footer-main p{font-size:13px;line-height:1.65;color:#c1c7dc;margin:0}
.footer-script{font-size:12px;color:#ffd05b;letter-spacing:.2px}
.footer-links{display:grid;gap:11px;font-size:13px}
.footer-links strong{font-size:12px;color:#ffd05b;text-transform:uppercase;letter-spacing:.8px;margin:3px 0 2px}
.footer-links a{color:#d9deed;text-decoration:none}
.footer-links a:hover{color:#ffd05b}
.footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff20;padding-top:17px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#aeb5cd;font-size:11px}
.account-game-wins{flex-basis:100%;width:100%;background:#effaf4;border:1px solid #c7f0d8;border-radius:10px;padding:11px;margin-top:7px;color:#126a45}
.account-game-wins>strong{font-size:12px;display:block;margin-bottom:7px}
.account-win-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid #d7f0e1;font-size:12px}
.account-win-row span{min-width:0}.account-win-row small{display:block;color:#537766;font-size:11px;margin-top:3px}.account-win-row>strong{white-space:nowrap;color:#08784c}
@media(max-width:760px){.hero-slider{min-height:0;padding-bottom:53px}.hero-slider .hero-slide{grid-template-columns:1fr;min-height:0}.hero-slider .hero-copy{padding:26px 22px 10px}.hero-slider .hero-copy h1{font-size:clamp(28px,8vw,36px);line-height:1.12}.hero-slider .hero-copy p{font-size:13px;line-height:1.6;max-width:38ch}.hero-slider .hero-art{min-height:205px}.hero-slider-controls{bottom:12px}.footer{grid-template-columns:1fr 1fr;gap:24px 18px;padding:28px 5% 18px}.footer-main{grid-column:1/-1}.footer-bottom{gap:8px}.footer-bottom span{flex-basis:100%}.account-win-row{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.hero-slider .hero-slide.is-active{animation:none}.hero-dots button{transition:none}}
