/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.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-word-swipe{font-family:'Arial',sans-serif;max-width:1200px;margin:0 auto;}.balloon-container{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;perspective:1000px;padding:10px;background:linear-gradient(to right,#9d9aff,#fad0c4);border-radius:15px;box-shadow:0 10px 20px rgba(0,0,0,0.1);position:relative;}.balloon{position:relative;height:160px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;font-size:22px;font-weight:bold;color:white;text-shadow:1px 1px 2px rgba(0,0,0,0.3);transition:all 0.3s ease;box-shadow:0 5px 15px rgba(0,0,0,0.2);transform-style:preserve-3d;user-select:none;text-align:center;}.balloon:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 8px 20px rgba(0,0,0,0.3);}.balloon.hanzi{background:linear-gradient(135deg,#ff9a9e 0%,#fad0c4 100%);}.balloon.pinyin{background:linear-gradient(135deg,#a1c4fd 0%,#c2e9fb 100%);}.balloon.english{background:linear-gradient(135deg,#84fab0 0%,#8fd3f4 100%);}.balloon.selected{transform:scale(1.05);box-shadow:0 0 0 3px rgba(255,255,0,0.7);z-index:10;animation:pulse 1s infinite alternate;}.balloon.matched{opacity:0.5;transform:scale(0.9);pointer-events:none;animation:fadeOut 0.5s ease;}@keyframes fadeOut{0%{opacity:1;transform:scale(1);}100%{opacity:0.5;transform:scale(0.9);}}.current-image-container{border-radius:15px;overflow:hidden;box-shadow:0 10px 20px rgba(0,0,0,0.1);}.game-stats{box-shadow:0 4px 8px rgba(0,0,0,0.1);background-color:rgb(164 158 249 / 70%) !important;}@media (max-width:768px){.balloon{height:90px;font-size:16px;}.balloon-container{gap:10px;}}@keyframes confetti{0%{transform:translateY(0) rotate(0deg);}100%{transform:translateY(100vh) rotate(360deg);}}.confetti{position:fixed;width:10px;height:10px;background-color:#f00;animation:confetti 3s ease-in-out forwards;z-index:1000;}#game-instructions-container{font-size:1.2rem;padding:15px;margin-top:30px;text-align:center;background-color:#f9f9f9;border-radius:10px;box-shadow:0 4px 8px rgba(0,0,0,0.1);}@keyframes pulse{from{transform:scale(1.1);}to{transform:scale(1.15);}}.balloon-connection{position:absolute;background-color:rgba(255,255,0,0.7);height:7px;transform-origin:left center;z-index:5;pointer-events:none;}.invalid-connection{animation:shake 0.3s ease-in-out;}@keyframes shake{0%,100%{transform:translateX(0);}25%{transform:translateX(-5px);}75%{transform:translateX(5px);}}#try-select{width:auto;display:inline-block;}.progress-display{font-size:1.1rem;color:#333;background-color:rgba(255,255,255,0.7);padding:5px 10px;border-radius:5px;display:inline-block;}#try-select:disabled{opacity:0.7;cursor:not-allowed;}.table-responsive{padding:20px;}.hanzi-word-swipe  .btn-primary{margin-left:0px !important;}.game-button{background-color:rgb(194 176 232 / 78%);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:#d0c2edd9;}#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;}}
