/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.pinyin-race .pr-description-panel button.collapsed .pr-description-chevron{transform:rotate(-90deg);}.pinyin-race .pr-description-panel .pr-description-chevron{transition:transform 0.2s ease;}.pinyin-race .pr-description-panel{background:radial-gradient(900px 260px at 10% 0%,rgba(59,130,246,0.18),transparent 60%),radial-gradient(900px 260px at 95% 30%,rgba(34,197,94,0.14),transparent 55%),linear-gradient(135deg,rgba(255,255,255,0.92),rgba(239,246,255,0.78));border-color:rgba(59,130,246,0.20) !important;box-shadow:0 14px 26px rgba(15,23,42,0.08);}.pinyin-race .pr-description-panel .pr-description-inner{border-left:3px solid rgba(59,130,246,0.22);}.pinyin-race .game-main-section.pinyin-race__main{background:radial-gradient(900px 420px at 15% 0%,rgba(59,130,246,0.16),transparent 55%),radial-gradient(900px 420px at 95% 10%,rgba(34,197,94,0.12),transparent 55%),linear-gradient(180deg,#eff6ff 0%,#f0fdf4 55%,#fff7ed 100%);border:1px solid rgba(59,130,246,0.18);box-shadow:inset 0 1px 0 rgba(255,255,255,0.85);}.pinyin-race .game-button.pr-game-actions{background:linear-gradient(135deg,rgba(239,246,255,0.96) 0%,rgba(240,253,244,0.78) 48%,rgba(255,247,237,0.72) 100%);border-radius:clamp(0.55rem,2.2vw,0.9rem);padding:clamp(0.45rem,1.8vw,0.65rem) clamp(0.35rem,1.2vw,0.65rem);border:1px solid rgba(59,130,246,0.22);box-shadow:0 6px 18px rgba(59,130,246,0.1),inset 0 1px 0 rgba(255,255,255,0.92);}@media (min-width:768px){.pinyin-race .game-button.pr-game-actions{padding:0.65rem 0.85rem;}}.pinyin-race .game-scoreboard-like{background:rgba(255,255,255,0.78);border-radius:0.5rem;padding:0.5rem 0.75rem;}.pinyin-race .pr-stat{font-weight:500;white-space:nowrap;}.pinyin-race .pr-stat--score{color:#0f766e;}.pinyin-race .pr-stat--acc{color:#b45309;}.pinyin-race .pr-stat--speed{color:#2563eb;font-weight:700;}.pinyin-race .pr-stat--round{color:#0f172a;font-weight:700;}.pinyin-race .pr-timer-badge{display:inline-flex;align-items:center;gap:0.3rem;padding:0.35rem 0.65rem;border-radius:999px;font-weight:900;font-size:1.05rem;letter-spacing:0.01em;color:#ffffff;background:linear-gradient(135deg,#ef4444,#f97316);border:1px solid rgba(239,68,68,0.35);box-shadow:0 12px 20px rgba(239,68,68,0.18);}.pinyin-race .pr-timer-badge #pr-timer{font-variant-numeric:tabular-nums;font-size:1.2em;}.pinyin-race .pr-timer-badge.pr-timer--warn{background:linear-gradient(135deg,#b91c1c,#ef4444);animation:pr-pulse 0.9s ease-in-out infinite;}@keyframes pr-pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.06);}}.pinyin-race .pr-target{font-size:clamp(2.1rem,6vw,3.25rem);line-height:1.15;font-weight:900;letter-spacing:0.01em;padding:0.05em 0.35em;border-radius:0.85rem;background:rgba(59,130,246,0.08);border:1px solid rgba(59,130,246,0.16);color:#0f172a;min-width:6ch;}.pinyin-race .pr-play-btn{width:2.4rem;height:2.4rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0;}.pinyin-race .pr-hint{color:#475569;}.pinyin-race .pr-hint.pr-hint--success{color:#0f766e;font-weight:800;}.pinyin-race .pr-hint.pr-hint--error{color:#b45309;font-weight:800;}.pinyin-race .pr-track-wrap{position:relative;border-radius:1.25rem;background:rgba(255,255,255,0.55);border:1px solid rgba(59,130,246,0.14);box-shadow:0 14px 26px rgba(15,23,42,0.08);padding:1rem;min-height:170px;overflow:hidden;margin-bottom:0.75rem;}.pinyin-race .pr-track--live{position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(226,232,240,0.8) 0,rgba(226,232,240,0.8) 18px,rgba(255,255,255,0.55) 18px,rgba(255,255,255,0.55) 36px);opacity:0.9;}.pinyin-race .pr-runner{position:absolute;left:6%;top:50%;transform:translateY(-50%);width:86px;height:86px;border-radius:999px;background:rgba(255,255,255,0.88);border:1px solid rgba(15,23,42,0.10);display:grid;place-items:center;box-shadow:0 18px 30px rgba(15,23,42,0.12);transition:left 0.35s ease;}.pinyin-race .pr-runner-logo{width:72%;height:auto;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(15,23,42,0.12));}.pinyin-race .pr-finish{position:absolute;right:6%;top:50%;transform:translateY(-50%);font-size:2.1rem;}.pinyin-race .pr-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.75rem;}.pinyin-race .pr-opt{border:0;border-radius:1rem;padding:0.9rem 0.9rem;background:rgba(255,255,255,0.92);box-shadow:0 14px 26px rgba(15,23,42,0.10);cursor:pointer;transition:transform 0.12s ease,box-shadow 0.12s ease,opacity 0.2s ease;font-weight:900;font-size:1.4rem;text-align:center;}.pinyin-race .pr-opt:hover{transform:translateY(-2px);box-shadow:0 18px 32px rgba(15,23,42,0.14);}.pinyin-race .pr-opt:active{transform:translateY(0);}.pinyin-race .pr-opt[disabled]{opacity:0.55;cursor:not-allowed;}.pinyin-race .pr-opt.pr-opt--ok{outline:3px solid rgba(34,197,94,0.45);}.pinyin-race .pr-opt.pr-opt--no{outline:3px solid rgba(239,68,68,0.45);}.pinyin-race .pr-hero{position:relative;width:min(380px,90vw);height:min(160px,46vw);margin:0 auto;border-radius:1.25rem;overflow:hidden;}.pinyin-race .pr-track{position:absolute;inset:0;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,0.75),transparent 45%),linear-gradient(180deg,rgba(59,130,246,0.35),rgba(34,197,94,0.18));}.pinyin-race .pr-runner--idle{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);width:110px;height:110px;border-radius:999px;background:rgba(255,255,255,0.86);border:1px solid rgba(15,23,42,0.10);display:grid;place-items:center;box-shadow:0 18px 30px rgba(15,23,42,0.12);animation:pr-bob 2.8s ease-in-out infinite;}@keyframes pr-bob{0%,100%{transform:translate(-50%,-50%) translateY(0);}50%{transform:translate(-50%,-50%) translateY(-7px);}}@media (max-width:767.98px){.pinyin-race .pr-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.6rem;}.pinyin-race .pr-opt{font-size:1.2rem;padding:0.75rem;}.pinyin-race .pr-runner{width:76px;height:76px;}.pinyin-race .pr-finish{font-size:1.9rem;}.pinyin-race .pr-timer-badge{font-size:1.0rem;}}@media (prefers-reduced-motion:reduce){.pinyin-race .pr-runner--idle,.pinyin-race .pr-timer-badge.pr-timer--warn{animation:none !important;}}
.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;}}
.homepage-popular-tabs .popular-games-slider,.homepage-popular-tabs .popular-card-slider{position:relative;width:100%;padding:0 36px 56px;overflow:hidden;}.homepage-popular-tabs .popular-games-slider .swiper{width:100%;overflow:hidden;}.homepage-popular-tabs .popular-game-slide{display:block;background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,0.08);transition:transform 0.2s ease,box-shadow 0.2s ease;}.homepage-popular-tabs .popular-game-slide:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,0.14);}.homepage-popular-tabs .popular-game-slide-image{aspect-ratio:4 / 3;overflow:hidden;background:#f9fafb;}.homepage-popular-tabs .popular-game-slide-img,.homepage-popular-tabs .popular-game-slide-image img{width:100%;height:100%;object-fit:cover;display:block;}.homepage-popular-tabs .popular-game-slide-title{padding:0.65rem 0.75rem;font-size:clamp(0.8rem,2vw,0.9rem);font-weight:600;color:#1f2937;text-align:center;line-height:1.3;}.homepage-popular-tabs .popular-hanzi-slider{position:relative;width:100%;padding:0 36px 56px;margin-bottom:0;overflow:hidden;}.homepage-popular-tabs .popular-hanzi-slider .hanzi-image{max-width:100%;max-height:none;width:100%;aspect-ratio:1;object-fit:contain;background:#fff;}.homepage-popular-tabs .popular-games-slider .swiper-button-prev,.homepage-popular-tabs .popular-games-slider .swiper-button-next,.homepage-popular-tabs .popular-hanzi-slider .swiper-button-prev,.homepage-popular-tabs .popular-hanzi-slider .swiper-button-next{width:40px;height:40px;background:#fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,0.15);color:#333;}.homepage-popular-tabs .popular-games-slider .swiper-button-prev::after,.homepage-popular-tabs .popular-games-slider .swiper-button-next::after,.homepage-popular-tabs .popular-hanzi-slider .swiper-button-prev::after,.homepage-popular-tabs .popular-hanzi-slider .swiper-button-next::after{font-size:16px;}.homepage-popular-tabs .popular-games-slider .swiper-autoplay-progress,.homepage-popular-tabs .popular-hanzi-slider .swiper-autoplay-progress{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);width:40%;min-width:180px;max-width:320px;height:3px;background:rgba(0,0,0,0.08);border-radius:3px;z-index:10;}.homepage-popular-tabs .popular-games-slider .swiper-autoplay-progress-fill,.homepage-popular-tabs .popular-hanzi-slider .swiper-autoplay-progress-fill,.homepage-popular-tabs .popular-word-card-slider .swiper-autoplay-progress-fill{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#2563eb,#059669);border-radius:3px;transform-origin:left center;transform:scaleX(0);transition:transform 0.1s linear;}.homepage-popular-tabs .popular-word-card-slider{position:relative;width:100%;padding:0 36px 56px;margin-bottom:0;overflow:hidden;}.homepage-popular-tabs .popular-word-card-slider .word-card-image{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:1rem;box-shadow:0 4px 14px rgba(0,0,0,0.08);}.homepage-popular-tabs .popular-word-card-slider .swiper-button-prev,.homepage-popular-tabs .popular-word-card-slider .swiper-button-next{width:40px;height:40px;background:#fff;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,0.15);color:#333;}.homepage-popular-tabs .popular-word-card-slider .swiper-button-prev::after,.homepage-popular-tabs .popular-word-card-slider .swiper-button-next::after{font-size:16px;}.homepage-popular-tabs .popular-word-card-slider .swiper-autoplay-progress{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);width:40%;min-width:180px;max-width:320px;height:3px;background:rgba(0,0,0,0.08);border-radius:3px;z-index:10;}
