/* Bingo is a table in the landscape: only the card and controls have a material. */
.game-area>.bingo-game.bingo-game{max-width:720px;margin:0 0 0 auto;padding:8px 4px 18px;background:transparent;border:0;border-radius:0;box-shadow:none;color:#fff4df}
.bingo-game .bingo-room-heading{margin-bottom:12px;min-height:48px;align-items:center;text-shadow:0 2px 7px rgba(34,20,63,.8)}
.bingo-game .bingo-room-heading h2{font-family:Georgia,serif;font-size:27px;font-weight:normal;line-height:1.15;color:#fff1d4;letter-spacing:.2px}
.game-area .bingo-game .bingo-eyebrow{color:#fff0c9;font-size:10px;letter-spacing:1.6px;margin-bottom:5px}
.bingo-game .bingo-room-heading>.bingo-button{flex-shrink:0;margin-left:10px;font-size:13px;min-height:44px}
.bingo-game .bingo-play-layout{justify-content:flex-end;align-items:flex-start}
.bingo-game .bingo-caller{position:relative;flex:0 0 154px;padding:13px 10px;border:1px solid #e8cba7;border-radius:65px 65px 18px 18px;background:linear-gradient(135deg,rgba(128,105,171,.91),rgba(49,42,87,.94));box-shadow:inset 0 0 0 3px rgba(242,212,179,.23),0 7px 18px rgba(31,24,62,.3);color:#fff2d7}
.bingo-game .bingo-current-ball{position:relative;width:108px;height:108px;margin:0 auto 12px;border:7px solid #cfb8e7;border-radius:50%;background:radial-gradient(circle at 32% 23%,#fffbed 0%,#efdcf6 42%,#baa1d6 83%);box-shadow:inset -5px -8px 0 rgba(116,81,160,.15),inset 2px 3px 0 #fff3d6,0 6px 0 rgba(36,24,67,.22),0 0 21px rgba(231,205,247,.3);color:#46315f;transform-origin:50% 75%}
.bingo-game .bingo-current-ball:after{content:'';position:absolute;top:12px;left:18px;width:20px;height:9px;border-radius:50%;background:rgba(255,255,255,.65);transform:rotate(-30deg)}
.bingo-game .bingo-current-ball>span{font-size:13px;line-height:1.2;letter-spacing:1px;font-family:Georgia,serif}
.bingo-game .bingo-current-ball>strong{font-family:Georgia,serif;font-size:43px;line-height:1.05;font-weight:normal}
.bingo-game .bingo-ball-caption{font-size:11px;margin:0 0 7px;color:#fff0d9}
.bingo-game .bingo-recent{min-height:32px;margin:0 0 8px;flex-wrap:nowrap}
.bingo-game .bingo-recent>span{width:21px;height:31px;margin:0 1px 0;border-radius:12px;background:linear-gradient(#e6d1f2,#b09ccf);border:1px solid #f2d7ae;box-shadow:0 2px 0 rgba(33,18,58,.3);color:#49335f;font-size:12px;flex-shrink:0}
.bingo-game .bingo-recent small{font-size:8px;color:#564269}
.bingo-game .bingo-button{min-height:44px;border:1px solid #ebcda1;border-radius:15px 5px 15px 5px;background:linear-gradient(135deg,#c3aedb,#9b83bb);color:#302245;box-shadow:inset 0 0 0 2px rgba(255,238,209,.25),0 3px 0 rgba(64,40,83,.55);text-shadow:0 1px 0 rgba(255,244,222,.35);font-weight:700}
.bingo-game .bingo-button:hover{background:linear-gradient(135deg,#dcc8ec,#b29bce)}
.bingo-game .bingo-button:active{transform:translateY(2px);box-shadow:inset 0 1px 4px rgba(39,21,67,.25)}
.bingo-game .bingo-button:disabled{opacity:.57;transform:none}
.game-area .bingo-game .bingo-primary{border-color:#ffdd9b;background:linear-gradient(#f7c978,#dca354);color:#4d2d43;box-shadow:inset 0 0 0 2px rgba(255,246,218,.5),0 3px 0 #886046}
.bingo-game .bingo-solo-controls{display:flex;flex-direction:row;margin:7px 0 13px}
.bingo-game .bingo-solo-controls>.bingo-button{flex:1;min-width:0;min-height:46px;padding:7px 3px;font-size:12px;line-height:1.2}
.bingo-game .bingo-solo-controls>.bingo-button+.bingo-button{margin:0 0 0 6px}
.bingo-game .bingo-label{font-size:12px;color:#fff1d7;margin-bottom:5px}
.bingo-game .bingo-input{min-height:44px;border:1px solid #ddc4a0;border-radius:9px;background:#e5d5e9;color:#47315a;box-shadow:inset 0 2px 4px rgba(87,55,111,.13)}
.bingo-game .bingo-speed{font-size:11px;padding:9px 4px}
.bingo-game .bingo-countdown{font-size:11px;min-height:30px;margin:8px 0 3px;color:#fff0d5;line-height:1.35}
.bingo-game .bingo-caller>.bingo-button{font-size:12px;min-height:44px;padding:7px 5px;margin-top:5px}
.bingo-game .bingo-boosters{margin-top:9px}
.bingo-game .bingo-boosters>.bingo-button{font-size:11px;min-height:44px;padding:5px 2px;background:linear-gradient(#ecdaee,#bca4d2)}
.bingo-game .bingo-boosters>.bingo-button+.bingo-button{margin-left:4px}
.bingo-game .bingo-boosters b{padding:1px 3px;margin-left:2px;background:rgba(255,242,220,.65);color:#4c325f;font-size:11px}
.bingo-game .bingo-booster-note{font-size:9px;line-height:1.35;color:#f7dfed;margin-top:7px}
.bingo-game .bingo-wild-instruction{font-size:11px;background:#f3c87d;color:#573651;border:1px solid #ffdfa0}
.bingo-game .bingo-board-area{position:relative;flex:1;max-width:450px;min-width:0;margin-left:17px}
.bingo-game .bingo-goal{min-height:61px;padding:7px 10px;margin-bottom:9px;border:1px solid #f0d5a8;border-radius:18px 5px 18px 5px;background:linear-gradient(125deg,rgba(76,57,113,.93),rgba(118,89,151,.9));box-shadow:inset 0 0 0 3px rgba(238,202,165,.12),0 4px 10px rgba(37,23,66,.2);justify-content:flex-start}
.bingo-game .bingo-pattern{width:45px;height:45px;margin-right:11px;flex-shrink:0}
.bingo-game .bingo-pattern>span{width:7px;height:7px;background:#8b759f;border-radius:1px}
.bingo-game .bingo-pattern>.bingo-pattern-target{background:#dfb9ec;box-shadow:0 0 2px #f8dca4}
.bingo-game .bingo-pattern>.bingo-pattern-done{background:#ffd48a}
.bingo-game .bingo-goal-name{font-size:16px;line-height:1.2;color:#fff1ce;font-family:Georgia,serif;font-weight:bold}
.bingo-game .bingo-goal-progress{font-size:12px;color:#f9e4fa;line-height:1.3}
.bingo-game .bingo-goal small{font-size:9px;color:#e5d4ec;line-height:1.25}
.bingo-game .bingo-goal-ready{border-color:#ffe6a9;box-shadow:inset 0 0 0 2px #d8ac64,0 0 15px rgba(255,218,136,.65)}
.bingo-game .bingo-card-instruction{font-size:13px;color:#fff2d4;text-shadow:0 2px 4px #44325c;margin:0 0 9px}
.game-area .bingo-game .bingo-card{position:relative;padding:12px;border:3px solid #edcca6;border-radius:20px 7px 20px 7px;background:linear-gradient(145deg,rgba(223,204,243,.96),rgba(163,132,194,.96) 46%,rgba(224,209,241,.97));box-shadow:inset 0 0 0 3px rgba(255,241,212,.6),inset 0 0 0 7px rgba(141,111,174,.32),0 6px 0 #7f6098,0 11px 23px rgba(37,24,63,.35)}
.bingo-game .bingo-card:before,.bingo-game .bingo-card:after{content:'✧';position:absolute;top:-16px;color:#ffe4ad;font-size:29px;line-height:1;text-shadow:0 1px 0 #8b5e88,0 0 7px #efc7f2;pointer-events:none}
.bingo-game .bingo-card:before{left:-12px}.bingo-game .bingo-card:after{right:-12px}
.bingo-game .bingo-card-head{margin-bottom:7px;background:transparent;border-radius:0;border-bottom:1px solid rgba(92,59,121,.35)}
.bingo-game .bingo-card-head>span{font-family:Georgia,serif;color:#49305b;font-size:29px;font-weight:normal;margin-right:7px;padding:0 0 5px;line-height:1.05;text-shadow:0 1px 0 #f9e8f3}
.bingo-game .bingo-card-row{margin-bottom:7px}
.bingo-game .bingo-card-row:last-child{margin-bottom:0}
.bingo-game .bingo-cell{isolation:isolate;height:56px;margin-right:7px;border:1px solid #b797cb;border-bottom:3px solid #a083b4;border-radius:10px 4px 10px 4px;background:linear-gradient(135deg,#f0e0f4,#d8c4e5);box-shadow:inset 1px 1px 0 #fff0e1,0 1px 0 rgba(253,230,185,.7);color:#42304e;font-family:Georgia,serif;font-size:29px;font-weight:normal;overflow:visible;transition:box-shadow .18s}
.bingo-game .bingo-cell>span,.bingo-game .bingo-cell>small{position:relative;z-index:2}
.bingo-game .bingo-cell>i{z-index:3;color:#64402f;font-size:11px;bottom:3px;right:4px}
.bingo-game .bingo-cell.bingo-marked{background:linear-gradient(135deg,#eee0ec,#d5bedd);border-color:#b392c1;color:#4d2e35;box-shadow:inset 1px 1px 0 #ffedda,0 1px 0 #f7dbaf}
.bingo-game .bingo-marked:before{content:'';position:absolute;z-index:1;width:42px;height:42px;left:50%;top:50%;margin:-21px 0 0 -21px;border:1px solid #ffdfaa;border-radius:50%;background:radial-gradient(circle at 35% 25%,#ffe3a8,#e4b56a 70%);box-shadow:inset 0 0 0 2px rgba(255,231,182,.5),0 2px 3px rgba(85,51,60,.25)}
.bingo-game .bingo-free>span{font-size:26px;line-height:1}.bingo-game .bingo-free small{font-size:7px;letter-spacing:.6px;margin-top:2px}
.bingo-game .bingo-free:before{background:radial-gradient(circle at 35% 25%,#ffecc9,#dcbb7c)}
.bingo-game .bingo-wild-cell.bingo-marked:before{background:radial-gradient(circle at 35% 25%,#e3f5ef,#79c2ae);border-color:#e5ffe5}
.bingo-game .bingo-hinted{outline:3px solid #ffe099;outline-offset:-4px;box-shadow:0 0 17px #ffe6aa}
.bingo-game .bingo-winning:before{border-color:#fff0a9;box-shadow:inset 0 0 0 2px #ffe4a5,0 0 13px #fbd075}
.bingo-game .bingo-claim{position:relative;margin-top:14px;min-height:50px;border:2px solid #ffe1a3;border-radius:26px 7px 26px 7px;background:linear-gradient(#eecf96,#dba45d);box-shadow:inset 0 0 0 3px rgba(255,240,199,.55),0 4px 0 #946445,0 7px 17px rgba(39,25,59,.3);font:26px Georgia,serif;color:#503041;text-shadow:0 1px 0 #ffeac4}
.bingo-game .bingo-claim:hover{background:linear-gradient(#ffe2ad,#e7b771)}
.bingo-game .bingo-claim:before,.bingo-game .bingo-claim:after{content:'✧';position:absolute;top:8px;color:#885461;font-size:26px}.bingo-game .bingo-claim:before{left:18px}.bingo-game .bingo-claim:after{right:18px}
.bingo-game .bingo-star-rule{font-size:10px;color:#fff1d2;text-shadow:0 2px 4px #49325a;margin:10px 0 0}
.bingo-game .bingo-winner{padding:10px 16px;margin-bottom:12px;border:1px solid #ffe0a0;border-radius:16px 4px;background:linear-gradient(#e9c37b,#c99455);color:#4b2e44;box-shadow:0 4px 9px rgba(46,28,58,.25);font-size:14px}
.bingo-game .bingo-history{background:rgba(69,49,101,.94);border-color:#d2b18d}.bingo-game .bingo-history>span{color:#cdb9d8;border-color:#8c739e}.bingo-game .bingo-history>.bingo-number-called{background:#e9c887;border-color:#ffe4ab;color:#4f3655}
.bingo-game .bingo-room-code{color:#ffdfa5}.bingo-game .bingo-room-footer{margin-top:14px}.bingo-game .bingo-roster li{background:#bc9dd1;color:#382549;border:1px solid #dfc196}.bingo-game .bingo-roster .bingo-person-you{background:#d9c685;color:#40394a}.bingo-game .bingo-roster small{color:#4c3b5e}
/* The map is a constellation of gems, with the world visible between its paths. */
.bingo-game .bingo-intro{display:block;text-align:left;padding:5px 0 22px;min-height:0}.bingo-game .bingo-intro-mascot{display:none}.bingo-game .bingo-intro h2{font:35px/1.1 Georgia,serif;color:#fff2d2;text-shadow:0 2px 8px #3a2656}.bingo-game .bingo-intro p{font-size:15px;color:#fff0df;text-shadow:0 2px 6px #38264d}
.bingo-game .bingo-campaign-entry,.bingo-game .bingo-choice,.bingo-game .bingo-lobby,.bingo-game .bingo-loading{border:1px solid #ddbd91;background:linear-gradient(135deg,rgba(105,77,142,.92),rgba(53,39,85,.95));border-radius:24px 6px 24px 6px;box-shadow:inset 0 0 0 3px rgba(230,193,158,.13),0 6px 18px rgba(31,20,52,.3);color:#fff1d6}
.bingo-game .bingo-campaign-entry{padding:17px;margin-bottom:18px}.bingo-game .bingo-campaign-entry h3,.bingo-game .bingo-choice h3,.bingo-game .bingo-lobby h3,.bingo-game .bingo-loading h2{color:#fff0cf;font:24px Georgia,serif}
.bingo-game .bingo-campaign-entry p,.bingo-game .bingo-choice p,.bingo-game .bingo-note{color:#f0daed;font-size:13px}.bingo-game .bingo-choice{padding:19px}.bingo-game .bingo-choice+.bingo-choice{margin-left:16px}.bingo-game .bingo-choice-art{float:right;background:transparent;color:#f1ca86;font-size:36px;width:42px;height:42px;margin:0 0 9px 10px}.bingo-game .bingo-join{border-color:#b89ac0}.bingo-game .bingo-lobby{padding:24px}.bingo-game .bingo-waiting{background:#d4b5dd;color:#48305c}
.bingo-game .bingo-world-tabs{margin-bottom:15px}.bingo-game .bingo-world-tab{min-height:50px;border:1px solid #d1b192;border-radius:20px 6px;background:linear-gradient(135deg,#b9a0ce,#806397);color:#30223f;box-shadow:inset 0 0 0 2px rgba(255,224,188,.25);font-size:15px}.bingo-game .bingo-world-selected{background:linear-gradient(#efd29f,#d1a26b);color:#483044;border-color:#ffe0a3;box-shadow:inset 0 0 0 2px #f5dcaf,0 3px 0 #725167}
.bingo-game .bingo-map{position:relative;padding:14px 16px 17px;border:1px solid #d7b98b;background:linear-gradient(145deg,rgba(69,48,110,.87),rgba(111,76,133,.84));border-radius:26px 7px 26px 7px;box-shadow:inset 0 0 0 4px rgba(235,202,160,.13),0 8px 24px rgba(32,20,57,.3)}
.bingo-game .bingo-map-intro{margin-bottom:13px}.bingo-game .bingo-map-intro>img{display:none}.bingo-game .bingo-map-intro h3{font:25px Georgia,serif;color:#ffe9c3}.bingo-game .bingo-map-intro p{font-size:12px;color:#e8cfe8}.bingo-game .bingo-chapter-label{margin:12px 5px 5px;color:#ffebc5;font-size:12px}.bingo-game .bingo-chapter-label span{color:#e3c8e3;font-size:9px}.bingo-game .bingo-stage{min-height:58px;border:1px solid #dfc094;border-bottom:3px solid #715377;border-radius:24px 7px 24px 7px;background:linear-gradient(135deg,#e1c7eb,#a27db9);color:#3e2852;box-shadow:inset 0 0 0 3px rgba(255,229,190,.25),0 3px 7px rgba(30,16,49,.3)}
.bingo-game .bingo-stage-complete{background:linear-gradient(135deg,#e2dfab,#a8b283);border-color:#e5d9a2;color:#3f4050}.bingo-game .bingo-stage-chest{background:linear-gradient(135deg,#ffe4a7,#d2a066);border-color:#ffe7ac;color:#65404b}.bingo-game .bingo-stage:disabled{background:linear-gradient(135deg,#9b82b0,#6b5683);border-color:#b99cc1;color:#e2cde8;opacity:.74}.bingo-game .bingo-stage>strong{font:25px Georgia,serif}.bingo-game .bingo-stage-stars{font-size:12px}.bingo-game .bingo-stage>i{color:#6f3f48}.bingo-game .bingo-map-footer>span{color:#f1d9e5}.bingo-game .bingo-error{background:#f7c3a2;border-color:#e99a77;color:#67353c}
/* Origami uses folded paper, ink and coral counters instead of crystal. */
.theme-origami .bingo-game .bingo-room-heading h2,.theme-origami .bingo-game .bingo-eyebrow,.theme-origami .bingo-game .bingo-star-rule,.theme-origami .bingo-game .bingo-card-instruction{color:#422c30;text-shadow:0 1px 3px #ffe4bc,0 0 9px #ffe4bc}
.theme-origami .bingo-game .bingo-caller{background:linear-gradient(155deg,#d7ba99,#b5907b);border-color:#ffe3b8;box-shadow:inset 0 0 0 3px rgba(255,232,193,.4),3px 6px 0 rgba(91,64,54,.32),0 9px 18px rgba(67,45,49,.2);border-radius:10px 4px 14px 5px;color:#493535}
.theme-origami .bingo-game .bingo-current-ball{border-color:#e7aa75;background:radial-gradient(circle at 30% 25%,#ffdfa0,#efb76d 80%);color:#51382c;box-shadow:inset -5px -7px 0 rgba(152,84,44,.17),0 6px 0 rgba(94,58,43,.2)}
.theme-origami .bingo-game .bingo-ball-caption,.theme-origami .bingo-game .bingo-label,.theme-origami .bingo-game .bingo-countdown,.theme-origami .bingo-game .bingo-booster-note{color:#493533}
.theme-origami .bingo-game .bingo-button,.theme-origami .bingo-game .bingo-boosters>.bingo-button{background:linear-gradient(135deg,#ffe5b8,#e5be90);color:#50372e;border-color:#f4dbb8;border-radius:7px 3px 10px 4px;box-shadow:inset 0 0 0 2px rgba(250,229,192,.6),2px 3px 0 #9c7d6c}
.theme-origami .bingo-game .bingo-primary{background:linear-gradient(#f6bc8d,#e48a6b);border-color:#f8ce9d;color:#4b2a27;box-shadow:inset 0 0 0 2px #f6c59d,2px 3px 0 #a36450}.theme-origami .bingo-game .bingo-input{background:#f3d9b4;border-color:#a78975;color:#4e3730}
.theme-origami .bingo-game .bingo-goal{background:linear-gradient(115deg,#f3d9af,#e7c299);border-color:#ffe7c4;border-radius:4px 10px 5px 9px;box-shadow:2px 3px 0 rgba(120,83,61,.32)}
.theme-origami .bingo-game .bingo-goal-name{color:#50332c}.theme-origami .bingo-game .bingo-goal-progress{color:#5c4236}.theme-origami .bingo-game .bingo-goal small{color:#695244}.theme-origami .bingo-game .bingo-pattern>span{background:#d2af88}.theme-origami .bingo-game .bingo-pattern>.bingo-pattern-target{background:#b97663;box-shadow:none}.theme-origami .bingo-game .bingo-pattern>.bingo-pattern-done{background:#517c71}
.theme-origami .game-area .bingo-game .bingo-card{border:4px solid #f7deba;border-radius:5px 12px 4px 13px;background:repeating-linear-gradient(12deg,rgba(171,119,74,.035) 0px,rgba(171,119,74,.035) 1px,transparent 1px,transparent 4px),linear-gradient(115deg,#f9dfb5,#e7c295);box-shadow:inset 0 0 0 1px #d4ad80,4px 7px 0 #967666,0 10px 20px rgba(70,47,40,.28)}
.theme-origami .bingo-game .bingo-card:before,.theme-origami .bingo-game .bingo-card:after{content:'◈';color:#ca725e;font-size:23px;top:-11px;text-shadow:1px 2px 0 #ffe2b7}
.theme-origami .bingo-game .bingo-card-head{border-color:#b18762}.theme-origami .bingo-game .bingo-card-head>span{color:#52372a;text-shadow:0 1px 0 #ffebc6}
.theme-origami .bingo-game .bingo-cell,.theme-origami .bingo-game .bingo-cell.bingo-marked{background:rgba(255,225,184,.45);border:1px solid #bf9a76;border-radius:2px;box-shadow:inset 1px 1px 0 rgba(255,240,207,.7);color:#51352b}
.theme-origami .bingo-game .bingo-marked:before{background:radial-gradient(circle at 30% 25%,#f9ac82,#e17d60 85%);border-color:#f6ba8f;box-shadow:inset 0 0 0 2px rgba(244,169,124,.6),1px 3px 2px rgba(133,77,56,.3)}
.theme-origami .bingo-game .bingo-cell>i{color:#6a3c2c}.theme-origami .bingo-game .bingo-free:before{background:#dba477;border-color:#eabc8e}.theme-origami .bingo-game .bingo-wild-cell.bingo-marked:before{background:#96b7a4;border-color:#bed3b6}
.theme-origami .bingo-game .bingo-claim{background:linear-gradient(115deg,#ffe7be,#e9bc8a);border-color:#f9dfb9;color:#513026;font-size:27px;box-shadow:inset 0 0 0 2px #f5d4a8,3px 5px 0 #946d57;border-radius:13px 5px 17px 5px}
.theme-origami .bingo-game .bingo-claim:before,.theme-origami .bingo-game .bingo-claim:after{content:'◈';color:#c8755c}
.theme-nimboria .bingo-game .bingo-caller,.theme-nimboria .bingo-game .bingo-goal{background:linear-gradient(130deg,rgba(72,116,107,.95),rgba(43,76,80,.96));border-color:#e1c996}
.theme-nimboria .game-area .bingo-game .bingo-card{background:linear-gradient(135deg,#d9e1bb,#95bba3);border-color:#e9ce9d;box-shadow:inset 0 0 0 3px #f3dfb5,0 6px 0 #59877a,0 10px 20px rgba(22,59,57,.3)}
.theme-nimboria .bingo-game .bingo-cell{background:linear-gradient(135deg,#ecedcf,#c7d7bd);color:#314b43;border-color:#8fa98f}.theme-nimboria .bingo-game .bingo-card-head>span{color:#34574e}
/* Original illustrated controls match the portals and the world's material. */
.bingo-game .bingo-claim{min-height:64px;border:0;border-radius:0;box-shadow:none;background:transparent url('assets/auroria-control-compact.png') center/100% 155% no-repeat;color:#4d2d64;text-shadow:0 1px 0 #fff2d8;font-size:27px}
.bingo-game .bingo-claim:hover{background:transparent url('assets/auroria-control-compact.png') center/100% 155% no-repeat}
.bingo-game .bingo-claim:before,.bingo-game .bingo-claim:after{display:none}
.theme-origami .bingo-game .bingo-claim,.theme-origami .bingo-game .bingo-claim:hover{background:transparent url('assets/origami-control-compact.png') center/100% 155% no-repeat;border:0;border-radius:0;box-shadow:none;color:#513124}
.theme-nimboria .bingo-game .bingo-claim,.theme-nimboria .bingo-game .bingo-claim:hover{background-image:url('assets/nimboria-control-compact.png');color:#592c45}
/* One-shot effects are added only for actual play changes, never by a polling tick. */
.bingo-scene-enter .bingo-play-layout,.bingo-scene-enter .bingo-map,.bingo-scene-enter .bingo-choices{animation:bingo-table-enter .6s cubic-bezier(.2,.8,.25,1) both}
.bingo-ball-arrive{animation:bingo-ball-roll .72s cubic-bezier(.25,.7,.3,1) both}
.bingo-stamping:before{animation:bingo-daub .48s cubic-bezier(.15,.8,.3,1) both}
.bingo-stamping:after{content:'✦';position:absolute;z-index:5;color:#fff0ac;font-size:31px;top:-9px;right:-5px;pointer-events:none;animation:bingo-spark .7s ease-out both;text-shadow:-34px 24px 0 #ffd99b,8px 35px 0 #fff1b9}
.bingo-line-flash{animation:bingo-line-glow 1.3s ease-out both}
.bingo-card-won{animation:bingo-card-win .65s ease-out both}
.bingo-victory-fx{position:fixed;left:50%;top:43%;width:300px;height:180px;margin:-90px 0 0 -150px;z-index:140;pointer-events:none;text-align:center;color:#fff0b3;animation:bingo-victory-expand 1.2s ease-out both}
.bingo-victory-fx>strong{position:absolute;top:62px;left:0;right:0;font:bold 48px Georgia,serif;text-shadow:0 3px 0 #946048,0 0 20px #e0a84a,2px 2px 0 #a96f55}
.bingo-victory-ring{position:absolute;left:55px;top:-8px;width:190px;height:190px;border:3px solid #ffe1a0;border-radius:50%;box-shadow:0 0 0 10px rgba(255,225,158,.22),0 0 40px #ffe6b0,inset 0 0 34px #ffe6b0;animation:bingo-ring 1.2s ease-out both}
.bingo-victory-fx>i{position:absolute;font:35px Georgia,serif;font-style:normal;top:13px;left:42px}.bingo-victory-fx>i:nth-child(4){top:8px;left:235px;font-size:43px}.bingo-victory-fx>i:nth-child(5){top:140px;left:30px;font-size:25px}.bingo-victory-fx>i:nth-child(6){top:135px;left:245px}.bingo-victory-fx>i:nth-child(7){top:85px;left:-25px;font-size:22px}.bingo-victory-fx>i:nth-child(8){top:73px;left:300px;font-size:25px}
@keyframes bingo-table-enter{from{opacity:0;transform:translateY(25px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes bingo-ball-roll{0%{opacity:0;transform:translateX(-55px) translateY(-20px) rotate(-100deg) scale(.8)}45%{opacity:1;transform:translateX(8px) translateY(5px) rotate(9deg) scale(1.06,.94)}70%{transform:translateX(-3px) translateY(-7px) rotate(-3deg) scale(.98,1.03)}100%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}}
@keyframes bingo-daub{0%{opacity:0;transform:scale(1.9) rotate(-25deg)}46%{opacity:1;transform:scale(.86) rotate(5deg)}72%{transform:scale(1.12) rotate(-3deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes bingo-spark{0%{opacity:0;transform:scale(.25) rotate(-30deg)}35%{opacity:1;transform:scale(1.15) rotate(5deg)}100%{opacity:0;transform:scale(1.6) rotate(25deg)}}
@keyframes bingo-line-glow{0%,100%{box-shadow:inset 0 0 0 1px #e8c989}35%{box-shadow:inset 0 0 0 3px #fff3bd,0 0 19px 6px #ffe09a}65%{box-shadow:inset 0 0 0 2px #ffe3a0,0 0 8px 3px #ffe5a1}}
@keyframes bingo-card-win{0%{transform:scale(1)}42%{transform:scale(1.04)}100%{transform:scale(1)}}
@keyframes bingo-victory-expand{0%{opacity:0;transform:scale(.35) rotate(-6deg)}25%{opacity:1;transform:scale(1.08) rotate(2deg)}55%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.32)}}
@keyframes bingo-ring{from{transform:scale(.6);opacity:1}to{transform:scale(1.65);opacity:0}}
@media(min-width:621px) and (max-height:800px){.bingo-game .bingo-room-heading h2{font-size:24px}.bingo-game .bingo-room-heading{margin-bottom:9px}.bingo-game .bingo-cell{height:51px}.bingo-game .bingo-card-head>span{font-size:26px}.bingo-game .bingo-card-row{margin-bottom:6px}.bingo-game .bingo-card{padding:11px}.bingo-game .bingo-current-ball{width:96px;height:96px}.bingo-game .bingo-current-ball>strong{font-size:40px}.bingo-game .bingo-goal{min-height:60px}.bingo-game .bingo-caller{padding-top:12px}.bingo-game .bingo-map-intro{margin-bottom:7px}.bingo-game .bingo-stage{min-height:53px}}
@media(max-width:620px){.game-area>.bingo-game.bingo-game{padding:6px 2px 18px;max-width:none}.bingo-game .bingo-play-layout{display:block}.bingo-game .bingo-room-heading h2{font-size:22px}.bingo-game .bingo-room-heading .bingo-eyebrow{font-size:9px;letter-spacing:1px}.bingo-game .bingo-caller{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;padding:12px;border-radius:18px 6px;margin:0 0 15px}.bingo-game .bingo-current-ball{width:80px;height:80px;margin:0 10px 0 0;border-width:6px}.bingo-game .bingo-current-ball>strong{font-size:32px}.bingo-game .bingo-ball-caption{width:calc(100% - 95px);text-align:left;font-size:12px}.bingo-game .bingo-recent{width:100%;margin:9px 0 0;min-height:30px}.bingo-game .bingo-recent>span{width:29px;height:31px;font-size:13px;margin:0 3px}.bingo-game .bingo-solo-controls{width:100%;flex:0 0 100%;margin:9px 0}.bingo-game .bingo-solo-controls>.bingo-button{font-size:14px}.bingo-game .bingo-caller>.bingo-label{width:37%;margin:0;font-size:12px}.bingo-game .bingo-caller>.bingo-speed{width:60%;font-size:12px;min-height:44px}.bingo-game .bingo-countdown{width:100%;min-height:20px;margin:6px 0}.bingo-game .bingo-caller>.bingo-button{width:auto;font-size:12px;min-height:44px;padding:8px 12px}.bingo-game .bingo-boosters{width:100%;margin-top:9px}.bingo-game .bingo-boosters>.bingo-button{font-size:12px}.bingo-game .bingo-booster-note{width:100%;font-size:10px}.bingo-game .bingo-board-area{margin-left:0;max-width:none}.bingo-game .bingo-cell{height:55px;margin-right:5px;font-size:27px}.bingo-game .bingo-card{padding:10px}.bingo-game .bingo-card-head>span{font-size:25px;margin-right:5px}.bingo-game .bingo-choices{display:block}.bingo-game .bingo-choice+.bingo-choice{margin-left:0}.bingo-game .bingo-campaign-entry{display:block}.bingo-game .bingo-campaign-entry>.bingo-button{margin:12px 0 0;min-width:0;width:100%}.bingo-game .bingo-world-tab{font-size:14px}.bingo-game .bingo-stage{min-height:55px}.bingo-game .bingo-chapter-label{font-size:11px}.bingo-game .bingo-chapter-label span{font-size:8px}.bingo-game .bingo-map{padding:13px 10px}.bingo-game .bingo-map-footer>span{max-width:none}.bingo-game .bingo-map-intro h3{font-size:22px}.bingo-game .bingo-map-footer>.bingo-button{margin:10px 0 0;width:100%}}
.reduce-motion .bingo-game *,.reduce-motion .bingo-game *:before,.reduce-motion .bingo-game *:after,.reduce-motion .bingo-victory-fx,.reduce-motion .bingo-victory-fx *{animation:none!important;transition:none!important}.reduce-motion .bingo-stamping:after,.reduce-motion .bingo-victory-fx{display:none}
@media(prefers-reduced-motion:reduce){body:not(.motion-on) .bingo-game *,body:not(.motion-on) .bingo-game *:before,body:not(.motion-on) .bingo-game *:after,body:not(.motion-on) .bingo-victory-fx,body:not(.motion-on) .bingo-victory-fx *{animation:none!important;transition:none!important}body:not(.motion-on) .bingo-stamping:after,body:not(.motion-on) .bingo-victory-fx{display:none}}
@media(min-width:621px) and (max-width:1180px) and (min-height:561px) and (max-height:820px){.game-area>.bingo-game.bingo-game{padding-top:3px;padding-bottom:7px}.bingo-game .bingo-intro{padding:0 0 7px}.bingo-game .bingo-intro .bingo-eyebrow{font-size:9px;margin-bottom:4px}.bingo-game .bingo-intro h2{font-size:24px;line-height:1.08;margin-bottom:4px}.bingo-game .bingo-intro p{font-size:12px}.bingo-game .bingo-campaign-entry{padding:9px 13px;margin-bottom:9px}.bingo-game .bingo-campaign-entry h3{font-size:19px;margin-bottom:3px}.bingo-game .bingo-campaign-entry p{font-size:12px}.bingo-game .bingo-campaign-entry>.bingo-button{min-height:44px;margin-left:12px}.bingo-game .bingo-choice{padding:12px}.bingo-game .bingo-choice h3{font-size:19px;margin-bottom:5px}.bingo-game .bingo-choice p{font-size:12px;line-height:1.3;margin-bottom:6px}.bingo-game .bingo-choice-art{width:36px;height:36px;font-size:30px;margin:0 0 5px 8px}.bingo-game .bingo-choice>.bingo-button{margin-top:6px;min-height:44px;padding:7px 10px;font-size:14px}.bingo-game .bingo-label{font-size:12px;margin-bottom:3px}.bingo-game .bingo-name-input{margin-bottom:6px}.bingo-game .bingo-join{margin-top:8px;padding-top:7px}.bingo-game .bingo-input{min-height:44px;padding:6px 9px;font-size:15px}.bingo-game .bingo-join-row>.bingo-button{min-height:44px;padding:6px 12px;font-size:14px}.bingo-game .bingo-room-heading{margin-bottom:6px;min-height:44px}.bingo-game .bingo-room-heading h2{font-size:22px}.bingo-game .bingo-world-tabs{margin-bottom:8px}.bingo-game .bingo-world-tab{min-height:44px;padding:5px 8px;font-size:14px}.bingo-game .bingo-world-tab small{font-size:10px}.bingo-game .bingo-map{padding:8px 11px 10px}.bingo-game .bingo-map-intro{margin-bottom:5px}.bingo-game .bingo-map-intro h3{font-size:20px;margin-bottom:2px}.bingo-game .bingo-map-intro p{font-size:11px}.bingo-game .bingo-stage-grid{margin:-3px}.bingo-game .bingo-chapter-label{margin:5px 3px 2px;font-size:11px}.bingo-game .bingo-chapter-label span{font-size:8px}.bingo-game .bingo-stage{width:calc(10% - 6px);min-height:44px;margin:3px;border-radius:15px 5px 15px 5px}.bingo-game .bingo-stage>strong{font-size:19px}.bingo-game .bingo-stage-stars{font-size:9px;letter-spacing:0}.bingo-game .bingo-stage:disabled .bingo-stage-stars{font-size:8px}.bingo-game .bingo-stage>i{top:2px;right:4px;font-size:12px}.bingo-game .bingo-map-footer{margin-top:7px}.bingo-game .bingo-map-footer>span{font-size:10px}.bingo-game .bingo-map-footer>.bingo-button{min-height:44px;font-size:13px;margin-left:8px}.bingo-game .bingo-lobby{padding:12px 16px}.bingo-game .bingo-lobby-flower{font-size:38px;margin-bottom:5px}.bingo-game .bingo-lobby h3{font-size:19px;margin-bottom:5px}.bingo-game .bingo-lobby p{font-size:12px;line-height:1.3;margin-bottom:6px}.bingo-game .bingo-roster{margin:6px 0}.bingo-game .bingo-roster li{padding:5px 9px;margin:3px;font-size:13px}.bingo-game .bingo-note{font-size:12px;margin:8px 0}.bingo-game .bingo-waiting{padding:8px;font-size:13px}.bingo-game .bingo-lobby>.bingo-button{min-height:44px}.bingo-game .bingo-play-layout{gap:0}.bingo-game .bingo-room-footer{margin-top:8px}.bingo-game .bingo-card-instruction{font-size:12px;margin-bottom:6px}.bingo-game .bingo-goal{min-height:54px;padding:5px 8px;margin-bottom:6px}.bingo-game .bingo-pattern{width:40px;height:40px}.bingo-game .bingo-card{padding:9px}.bingo-game .bingo-card-row{margin-bottom:4px}.bingo-game .bingo-cell{height:48px;font-size:24px}.bingo-game .bingo-claim{min-height:48px;margin-top:10px;font-size:22px}.bingo-game .bingo-board-area>.bingo-primary{min-height:44px;margin-top:10px}.bingo-game .bingo-history{margin-top:10px;padding:8px}.bingo-game .bingo-history>span{width:29px;height:29px;font-size:13px}.bingo-game .bingo-caller{padding:9px 8px}.bingo-game .bingo-current-ball{width:88px;height:88px;margin-bottom:7px}.bingo-game .bingo-current-ball>strong{font-size:36px}.bingo-game .bingo-recent{margin-bottom:5px}.bingo-game .bingo-countdown{margin-top:5px;min-height:24px}.bingo-game .bingo-caller>.bingo-button{min-height:44px}.bingo-game .bingo-boosters{margin-top:6px}}
@media(min-width:621px) and (max-width:1180px) and (min-height:561px) and (max-height:820px){.bingo-game .bingo-intro h2{font-size:28px}.bingo-game .bingo-intro p{font-size:14px}.bingo-game .bingo-campaign-entry h3{font-size:22px}.bingo-game .bingo-campaign-entry p{font-size:13px}.bingo-game .bingo-campaign-entry>.bingo-button{font-size:16px}.bingo-game .bingo-choice h3{font-size:20px}.bingo-game .bingo-choice p{font-size:14px}.bingo-game .bingo-choice>.bingo-button{font-size:16px}.bingo-game .bingo-label{font-size:13px}.bingo-game .bingo-input{font-size:16px}.bingo-game .bingo-join-row>.bingo-button{font-size:16px}}
