/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.progress{position:relative;}.progress__track{min-width:100px;max-width:100%;height:16px;margin-top:5px;border:1px solid;background-color:#fff;}.progress__bar{width:3%;min-width:3%;max-width:100%;height:16px;background-color:#000;}.progress__description,.progress__percentage{overflow:hidden;margin-top:0.2em;color:#555;font-size:0.875em;}.progress__description{float:left;}[dir="rtl"] .progress__description{float:right;}.progress__percentage{float:right;}[dir="rtl"] .progress__percentage{float:left;}.progress--small .progress__track{height:7px;}.progress--small .progress__bar{height:7px;background-size:20px 20px;}
.ajax-progress{display:inline-block;padding:1px 5px 2px 5px;}[dir="rtl"] .ajax-progress{float:right;}.ajax-progress-throbber .throbber{display:inline;padding:1px 6px 2px;background:transparent url(/core/misc/throbber-active.gif) no-repeat 0 center;}.ajax-progress-throbber .message{display:inline;padding:1px 5px 2px;}tr .ajax-progress-throbber .throbber{margin:0 2px;}.ajax-progress-bar{width:16em;}.ajax-progress-fullscreen{position:fixed;z-index:1261;top:48.5%;left:49%;width:24px;height:24px;padding:4px;opacity:0.9;border-radius:7px;background-color:#232323;background-image:url(/core/misc/loading-small.gif);background-repeat:no-repeat;background-position:center center;}[dir="rtl"] .ajax-progress-fullscreen{right:49%;left:auto;}
.text-align-left{text-align:left;}.text-align-right{text-align:right;}.text-align-center{text-align:center;}.text-align-justify{text-align:justify;}.align-left{float:left;}.align-right{float:right;}.align-center{display:block;margin-right:auto;margin-left:auto;}
.fieldgroup{padding:0;border-width:0;}
.container-inline div,.container-inline label{display:inline-block;}.container-inline .details-wrapper{display:block;}.container-inline .hidden{display:none;}
.clearfix::after{display:table;clear:both;content:"";}
.js details:not([open]) .details-wrapper{display:none;}
.hidden{display:none;}.visually-hidden{position:absolute !important;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;word-wrap:normal;}.visually-hidden.focusable:active,.visually-hidden.focusable:focus-within{position:static !important;overflow:visible;clip:auto;width:auto;height:auto;}.invisible{visibility:hidden;}
.item-list__comma-list,.item-list__comma-list li{display:inline;}.item-list__comma-list{margin:0;padding:0;}.item-list__comma-list li::after{content:", ";}.item-list__comma-list li:last-child::after{content:"";}
.js .js-hide{display:none;}.js-show{display:none;}.js .js-show{display:block;}@media (scripting:enabled){.js-hide.js-hide{display:none;}.js-show{display:block;}}
.nowrap{white-space:nowrap;}
.position-container{position:relative;}
.reset-appearance{margin:0;padding:0;border:0 none;background:transparent;line-height:inherit;-webkit-appearance:none;appearance:none;}
.resize-none{resize:none;}.resize-vertical{min-height:2em;resize:vertical;}.resize-horizontal{max-width:100%;resize:horizontal;}.resize-both{max-width:100%;min-height:2em;resize:both;}
.system-status-counter__status-icon{display:inline-block;width:25px;height:25px;vertical-align:middle;}.system-status-counter__status-icon::before{display:block;width:100%;height:100%;content:"";background-repeat:no-repeat;background-position:center 2px;background-size:16px;}.system-status-counter__status-icon--error::before{background-image:url(/core/misc/icons/e32700/error.svg);}.system-status-counter__status-icon--warning::before{background-image:url(/core/misc/icons/e29700/warning.svg);}.system-status-counter__status-icon--checked::before{background-image:url(/core/misc/icons/73b355/check.svg);}
.system-status-report-counters__item{width:100%;margin-bottom:0.5em;padding:0.5em 0;text-align:center;white-space:nowrap;background-color:rgba(0,0,0,0.063);}@media screen and (min-width:60em){.system-status-report-counters{display:flex;flex-wrap:wrap;justify-content:space-between;}.system-status-report-counters__item--half-width{width:49%;}.system-status-report-counters__item--third-width{width:33%;}}
.system-status-general-info__item{margin-top:1em;padding:0 1em 1em;border:1px solid #ccc;}.system-status-general-info__item-title{border-bottom:1px solid #ccc;}
.tablesort{display:inline-block;width:16px;height:16px;background-size:100%;}.tablesort--asc{background-image:url(/core/misc/icons/787878/twistie-down.svg);}.tablesort--desc{background-image:url(/core/misc/icons/787878/twistie-up.svg);}
.breadcrumb{font-size:0.929em;}
.drupal-stripe-errors,.StripeElement--invalid{color:red;}.StripeElement{box-sizing:border-box;max-width:100%;margin:2px 0;padding:4px;border:1px solid #ccc;font-size:0.929em;}.StripeElement--invalid{border:2px solid red;}
.hanzi-game-container{margin:0 auto;border-radius:10px;padding:20px;}.btn-lg{padding:10px 25px;font-size:1.2rem;}.play-again{margin:0 auto;display:block;width:200px;}.d-flex.justify-content-between{padding:15px;border-radius:8px;margin-bottom:20px;border:1px solid rgba(255,255,255,0.1);}.game-stats{background-color:rgba(0,0,0,0.7);border-radius:8px;padding:15px;margin-bottom:20px;border:1px solid rgba(255,255,255,0.1);color:#fff;}.game-stats div{padding:0 15px;}.card{border:none;background-color:transparent;}.card-body{background-image:url('/sites/default/files/game/whack-a-mole-bg.jpg');background-size:cover;background-position:center;border-radius:10px;padding:30px;position:relative;overflow:hidden;}.card-body::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.4);z-index:0;}#game-board{min-height:500px;position:relative;z-index:1;}.hole{width:150px;height:150px;background-color:#ca988a;border-radius:50%;position:relative;overflow:hidden;cursor:pointer;box-shadow:inset 0 10px 20px rgba(0,0,0,0.5);margin:0 auto 30px;transition:transform 0.1s;border:3px solid #3a2e26;}.hole:active{transform:scale(0.95);}.hole::after{content:'';position:absolute;bottom:-25px;left:50%;transform:translateX(-50%);width:120px;height:50px;background-color:#000;border-radius:50%;z-index:1;}.mole{position:absolute;width:120px;height:120px;bottom:-120px;left:50%;transform:translateX(-50%);transition:bottom 0.3s ease-out;z-index:2;background-image:url('/sites/default/files/game/mole.png');background-size:contain;background-repeat:no-repeat;background-position:center;display:flex;justify-content:center;align-items:center;font-size:1.5rem;font-weight:bold;color:rgb(243,7,7);text-shadow:1px 1px 2px #000;background-clip:padding-box;}.mole::after{content:attr(data-char);background-color:rgba(255,255,255,0.9);padding:4px 10px;border-radius:12px;box-shadow:0 0 2px rgba(0,0,0,0.4);}.mole.up{bottom:10px;}.btn-success{background-color:rgba(40,167,69,0.8);}.btn-success:hover{background-color:rgba(40,167,69,1);transform:translateY(-2px);box-shadow:0 5px 15px rgba(0,0,0,0.3);}.btn-danger{background-color:rgba(220,53,69,0.8);}.btn-primary{background-color:rgba(13,110,253,0.8);}.btn-primary:hover{background-color:rgba(13,110,253,1);}.form-select{background-color:rgba(255,255,255,0.9);border:none;padding:10px 15px;}#game-over .modal-content{background-color:rgba(0,0,0,0.9);border:1px solid rgba(255,255,255,0.1);color:#fff;}#game-over .modal-header{border-bottom:1px solid rgba(255,255,255,0.1);}#final-score{color:#ffc107;font-size:2.5rem;}@keyframes correctHit{0%{transform:translateX(-50%) scale(1);}50%{transform:translateX(-50%) scale(1.2);}100%{transform:translateX(-50%) scale(1);}}.mole.correct{animation:correctHit 0.5s ease;background-color:rgba(40,167,69,0.3);box-shadow:0 0 20px rgba(40,167,69,0.5);}@keyframes wrongHit{0%{transform:translateX(-50%) rotate(0deg);}25%{transform:translateX(-50%) rotate(-15deg);}75%{transform:translateX(-50%) rotate(15deg);}100%{transform:translateX(-50%) rotate(0deg);}}.mole.wrong{animation:wrongHit 0.5s ease;background-color:rgba(220,53,69,0.3);box-shadow:0 0 20px rgba(220,53,69,0.5);}@media (max-width:992px){.hole{width:130px;height:130px;}.mole{width:110px;height:110px;}}@media (max-width:768px){.hole{width:110px;height:110px;margin-bottom:20px;}.mole{width:90px;height:90px;font-size:1.2rem;}.game-stats{flex-direction:column;align-items:center;gap:10px;}.game-stats div{padding:5px 0;}}@media (max-width:576px){.hanzi-game-container{padding:15px;}.hole{width:90px;height:90px;}.mole{width:70px;height:70px;font-size:1rem;}.btn{padding:8px 20px;font-size:0.9rem;}}.target-highlight{font-size:2rem;font-weight:bold;color:#FFD700;text-shadow:0 0 5px #FF0000,0 0 10px #FF4500;background-color:rgba(0,0,0,0.6);padding:5px 15px;border-radius:10px;border:2px solid #FFA500;animation:pulse 1.5s infinite alternate;}@keyframes pulse{from{box-shadow:0 0 5px 0 rgba(255,215,0,0.5);}to{box-shadow:0 0 20px 5px rgba(255,69,0,0.8);}}.game-main-section{height:100%;display:flex;flex-direction:column;}.target-circle-container{display:flex;justify-content:center;align-items:center;margin-bottom:70px;}.target-circle{width:180px;height:180px;border-radius:50%;background:rgba(255,215,0,0.2);border:3px solid #FFD700;display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 0 20px rgba(255,215,0,0.5);position:relative;z-index:10;}.target-circle::after{content:'';position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);width:40px;height:40px;background:url('/sites/default/files/game/mole.png') center/contain no-repeat;z-index:5;}.target-label{color:#FFF;font-size:1rem;margin-bottom:5px;}.target-text{background-color:#ffffff;color:red;font-size:2rem;font-weight:bold;border-radius:10%;}#game-board{display:flex;flex-wrap:wrap;align-content:flex-start;}@media (max-width:768px){.target-circle{width:140px;height:140px;}.target-text{font-size:1.5rem;}}@keyframes pop{0%{transform:scale(0.8);opacity:0;}50%{transform:scale(1.1);}100%{transform:scale(1);opacity:1;}}.pop-animation{animation:pop 0.5s ease-out;}.mole.up{animation:moleUp 0.3s ease-out forwards;}@keyframes moleUp{from{bottom:-120px;}to{bottom:10px;}}#game-settings-btn{background-color:#6c757d;color:white;}#game-settings-btn:hover{background-color:#5a6268;transform:translateY(-2px);}#start-btn{background-color:#28a745;color:white;}#start-btn:hover{background-color:#218838;transform:translateY(-2px);}#refresh-chart{background-color:#17a2b8;color:white;}#refresh-chart:hover{background-color:#138496;transform:translateY(-2px);}#confirm-settings{position:relative;min-width:120px;}#confirm-settings .button-text{display:inline-block;}#confirm-settings .spinner-border{margin-left:8px;vertical-align:middle;}#confirm-settings.is-loading .button-text{margin-right:5px;}#confirm-settings.is-loading .spinner-border{display:inline-block !important;}.game-button{background-color:rgb(145 91 128 / 50%);border-radius:15px;padding:15px;box-shadow:0 8px 15px rgba(0,0,0,0.1);text-align:center;}.bi-chevron-down.transition-all,.bi-chevron-up.transition-all{transition:transform 0.3s ease;}[aria-expanded="true"] .bi-chevron-down{transform:rotate(0deg);}[aria-expanded="false"] .bi-chevron-down{transform:rotate(180deg);}[aria-expanded="true"] .bi-chevron-up{transform:rotate(180deg);}[aria-expanded="false"] .bi-chevron-up{transform:rotate(0deg);}.game-description-container{background-color:#c9adbfb5;}#bingo-leaderboard{font-size:0.9rem;}#bingo-leaderboard th{font-weight:500;text-transform:uppercase;font-size:0.8rem;letter-spacing:0.5px;}#refresh-leaderboard i.bi-arrow-clockwise-animate{animation:rotate 1s linear infinite;}@keyframes rotate{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}@media (max-width:768px){#bingo-leaderboard th,#bingo-leaderboard td{padding:0.5rem;}#bingo-leaderboard .badge{font-size:0.65em;}}.record-score,.play-again{margin:0 auto;display:block;width:200px;}
.top-search-container{position:relative;display:inline-block;width:100%;}.search-form{display:flex;justify-content:space-between;width:100%;}.input-group{display:flex;width:100%;}#top-search-bar{flex:1;padding:8px;border:1px solid #ccc;border-radius:4px;}.btn-primary{margin-left:8px;padding:8px 16px;border-radius:4px;}.search-popup{display:none;position:absolute;top:100%;left:0;width:100%;max-width:300px;background:#fff;border-radius:4px;box-shadow:0 4px 6px rgba(0,0,0,0.2);z-index:1000;}#search-results{list-style:none;margin:0;padding:0;max-height:200px;overflow-y:auto;}#search-results li{padding:10px;cursor:pointer;font-size:14px;border-bottom:1px solid #eee;}#search-results li:hover{background-color:#f7f7f7;}@media (max-width:576px){.top-search-container{width:350px;}.search-popup{max-width:350px;}}
