*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--yellow:#ffd94a;--orange:#ff8c42;--pink:#ff6b8a;--teal:#3bbfad;--purple:#8b5cf6;--green:#10b981;--jade:#2e9e6b;--navy:#1a2e4a;--cream:#fffbf0;--light:#f9f5ec;--gray:#6b7280;--border:#e9e3d5}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--navy);font-family:Nunito,sans-serif;line-height:1.7}nav{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid var(--yellow);background:#fffbf0f2;justify-content:space-between;align-items:center;padding:.55rem 2.5rem;display:flex;position:sticky;top:0}.nav-logo{color:var(--orange);align-items:center;gap:.4rem;font-size:1.3rem;font-weight:900;text-decoration:none;display:flex}.nav-right{align-items:center;gap:1.5rem;display:flex}.nav-typing-link{color:var(--navy);border:1.5px solid var(--border);white-space:nowrap;border-radius:20px;padding:.3rem .75rem;font-size:.85rem;font-weight:800;text-decoration:none;transition:all .2s}.nav-typing-link:hover{border-color:var(--orange);color:var(--orange)}.nav-search{background:var(--light);border:2px solid var(--border);border-radius:50px;align-items:center;gap:.5rem;padding:.4rem 1rem;display:flex}.nav-search input{color:var(--navy);background:0 0;border:none;outline:none;width:180px;min-width:0;font-family:Nunito,sans-serif;font-size:.9rem}.nav-search input::placeholder{color:var(--gray)}.nav-search-icon{color:var(--gray);font-size:.9rem}.hero{min-height:var(--hero-h,640px);text-align:center;background:linear-gradient(135deg,#fff5c8 0%,#ffe4b5 50%,#ffd6b5 100%);flex-direction:column;justify-content:center;align-items:center;padding:5rem 2.5rem 4rem;display:flex;position:relative;overflow:hidden}.hero--img{background:0 0;min-height:0;padding:0;display:block}.hero-img{width:100%;height:auto;display:block}.hero--img.hero--fixed .hero-img{height:var(--hero-h);object-fit:cover}.hero--img .hero-content{flex-direction:column;justify-content:center;align-items:center;padding:2rem 1.5rem;display:flex;position:absolute;inset:0}.hero-eyebrow{background:var(--orange);color:#fff;letter-spacing:2px;text-transform:uppercase;border-radius:20px;margin-bottom:1.25rem;padding:.3rem 1rem;font-size:.75rem;font-weight:800;display:inline-block}.hero h1{color:var(--navy);margin-bottom:1rem;font-family:Lora,serif;font-size:clamp(2rem,5vw,3.4rem);font-weight:600;line-height:1.2}.hero h1 em{color:var(--orange);font-style:italic}.hero-sub{color:var(--gray);max-width:520px;margin:0 auto 2.5rem;font-size:1.05rem}.hero-stats{flex-wrap:wrap;justify-content:center;gap:3rem;display:flex}.stat-item{text-align:center}.stat-num{color:var(--navy);font-size:2rem;font-weight:900;line-height:1}.stat-label{color:var(--gray);margin-top:.2rem;font-size:.8rem}.featured{background:var(--navy);color:#fff;padding:0;display:grid;position:relative;overflow:hidden}.feat-slide{opacity:0;visibility:hidden;pointer-events:none;grid-area:1/1;grid-template-columns:1fr minmax(240px,38%);align-items:center;gap:2.5rem;padding:3rem 2.5rem;transition:opacity .5s,visibility .5s;display:grid}.feat-slide.active{opacity:1;visibility:visible;pointer-events:auto}.feat-nav{color:#fff;cursor:pointer;z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;transition:background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.feat-nav:hover{background:#ffffff4d}.feat-nav.prev{left:.75rem}.feat-nav.next{right:.75rem}.feat-dots{z-index:10;gap:.4rem;display:flex;position:absolute;bottom:.75rem;left:50%;transform:translate(-50%)}.feat-dot{cursor:pointer;background:#ffffff59;border:none;border-radius:50%;width:7px;height:7px;padding:0;transition:background .2s}.feat-dot.active{background:var(--yellow);border-radius:4px;width:20px}.featured-label{letter-spacing:2px;text-transform:uppercase;color:var(--yellow);margin-bottom:.75rem;font-size:.75rem;font-weight:800}.featured-title{margin-bottom:.5rem;font-family:Lora,serif;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:600;line-height:1.2}.featured-title em{color:var(--yellow);font-style:italic}.featured-author{color:#fff9;margin-bottom:1rem;font-size:.9rem}.featured-desc{color:#fffc;max-width:540px;margin-bottom:1.5rem;font-size:.95rem;line-height:1.7}.featured-btn{background:var(--yellow);color:var(--navy);border-radius:50px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:900;text-decoration:none;transition:transform .2s,opacity .2s;display:inline-flex}.featured-btn:hover{opacity:.9;transform:translateY(-2px)}.featured-visual{justify-content:center;align-items:flex-end;gap:.7rem;padding-bottom:.5rem;display:flex}.featured-book-mock{background:linear-gradient(145deg, var(--orange), var(--yellow));text-align:center;border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:148px;height:210px;padding:1.25rem 1rem;display:flex;transform:rotate(-3deg);box-shadow:-5px 10px 28px #00000073}.featured-book-mock-icon{margin-bottom:.5rem;font-size:2rem}.featured-book-mock-title{color:var(--navy);font-size:.85rem;font-weight:800;line-height:1.3}.featured-stars{color:var(--navy);margin-top:.5rem;font-size:1.1rem}.featured-cover-img{object-fit:cover;border-radius:10px;flex-shrink:0;width:auto;max-width:210px;height:290px;transform:rotate(-2.5deg);box-shadow:-5px 10px 28px #00000073}.featured-extra-img{object-fit:cover;border-radius:8px;flex-shrink:0;width:auto;max-width:210px;height:290px;transition:transform .25s;box-shadow:0 6px 20px #0006}.featured-extra-img:hover{transform:translateY(-6px)rotate(0)!important}.featured-extra-img:nth-child(2){transform:rotate(3deg)}.featured-extra-img:nth-child(3){transform:rotate(-2deg)}.featured-extra-img:nth-child(4){transform:rotate(2.5deg)}.cat-section{padding:3rem 2.5rem 0}.cat-section-inner{max-width:1100px;margin:0 auto}.type-tabs{border-bottom:2px solid var(--border);flex-wrap:wrap;gap:.6rem;margin-bottom:1.25rem;padding-bottom:1.25rem;display:flex}.type-tab{border:2px solid var(--border);color:var(--gray);cursor:pointer;background:#fff;border-radius:50px;align-items:center;gap:.45rem;padding:.65rem 1.5rem;font-family:Nunito,sans-serif;font-size:.95rem;font-weight:800;transition:all .2s;display:flex}.type-tab:hover{border-color:var(--navy);color:var(--navy)}.type-tab[data-type=all].active{background:var(--navy);border-color:var(--navy);color:#fff}.type-tab[data-type=sach].active{background:var(--orange);border-color:var(--orange);color:#fff}.type-tab[data-type=hoc-lieu].active{background:var(--jade);border-color:var(--jade);color:#fff}.type-tab .count{background:#ffffff40;border-radius:20px;padding:.1rem .55rem;font-size:.75rem;font-weight:900}.type-tab:not(.active) .count{background:var(--light);color:var(--gray)}.cat-tabs{flex-wrap:wrap;gap:.6rem;margin-bottom:2.5rem;display:flex}.cat-tab{border:2px solid var(--border);color:var(--gray);cursor:pointer;background:#fff;border-radius:50px;align-items:center;gap:.4rem;padding:.55rem 1.25rem;font-family:Nunito,sans-serif;font-size:.88rem;font-weight:700;transition:all .2s;display:flex}.cat-tab:hover{border-color:var(--orange);color:var(--orange)}.cat-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}.cat-tab .count{color:inherit;background:#fff3;border-radius:20px;padding:.1rem .5rem;font-size:.75rem;font-weight:900}.cat-tab:not(.active) .count{background:var(--light);color:var(--gray)}.cat-section.mode-hoc-lieu .cat-tab.active{background:var(--jade);border-color:var(--jade)}.cat-section.mode-hoc-lieu .cat-tab:hover{border-color:var(--jade);color:var(--jade)}.section-wrap{padding:0 2.5rem 5rem}.section-inner{max-width:1100px;margin:0 auto}.books-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.75rem;display:grid}.no-results{text-align:center;color:var(--gray);padding:4rem 2rem;font-size:1rem}.recent-section{border-top:3px solid var(--yellow);border-bottom:3px solid var(--yellow);background:linear-gradient(135deg,#fffbe8 0%,#fff0c0 100%);padding-top:2.5rem;padding-bottom:2.5rem}.recent-heading{color:var(--navy);letter-spacing:-.01em;margin-bottom:1.5rem;font-size:1.25rem;font-weight:800}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-top:2.5rem;display:flex}.page-btn{border:2px solid var(--light2);min-width:2.4rem;height:2.4rem;color:var(--navy);cursor:pointer;background:#fff;border-radius:50px;padding:0 .75rem;font-size:.95rem;font-weight:700;line-height:1;transition:border-color .2s,background .2s,color .2s}.page-btn:hover:not(:disabled){border-color:var(--navy);background:var(--light)}.page-btn.active{background:var(--navy);border-color:var(--navy);color:#fff}.page-btn.page-arrow{min-width:2.4rem;padding:0 .6rem;font-size:1.3rem}.page-btn:disabled{opacity:.35;cursor:default}.book-card{background:#fff;border:2px solid #0000;border-radius:20px;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;overflow:hidden;box-shadow:0 2px 16px #00000012}.book-card:hover{border-color:var(--yellow);transform:translateY(-6px);box-shadow:0 12px 40px #00000021}.book-cover-wrap{justify-content:center;align-items:center;min-height:200px;padding:2rem 1.5rem 1.5rem;display:flex;position:relative}.book-mock{text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;width:130px;height:170px;padding:1.25rem 1rem;display:flex;transform:rotate(-2deg);box-shadow:-5px 5px #0000001f}.book-mock-icon{margin-bottom:.5rem;font-size:2rem}.book-mock-title{color:#fff;font-size:.75rem;font-weight:800;line-height:1.3}.book-cover-img{border-radius:10px;width:130px;height:170px;transition:transform .3s;overflow:hidden;transform:rotate(-2deg);box-shadow:-5px 5px #0000001f}.book-card:hover .book-cover-img{transform:rotate(0)scale(1.04)}.book-cover-img img{object-fit:cover;width:100%;height:100%;display:block}.book-badge{letter-spacing:.6px;text-transform:uppercase;border-radius:20px;padding:.34rem .85rem;font-size:.72rem;font-weight:800;position:absolute;top:1rem;right:1rem;box-shadow:0 3px 10px #00000040,0 0 0 2px #ffffffe6}.badge-coming{background:var(--light);color:var(--gray);border:1px solid var(--border)}.badge-new{background:var(--pink);color:#fff;text-shadow:0 1px 1px #00000026}.badge-nen-doc{background:var(--teal);color:#fff;text-shadow:0 1px 1px #00000026}.badge-doc-nhieu{background:var(--orange);color:#fff;text-shadow:0 1px 1px #00000026}.badge-popular{background:var(--yellow);color:var(--navy)}.badge-classic{background:var(--purple);color:#fff;text-shadow:0 1px 1px #00000026}.badge-bestseller{background:var(--navy);color:var(--yellow)}.book-body{flex-direction:column;flex:1;padding:0 1.5rem 1.5rem;display:flex}.book-category{letter-spacing:1px;text-transform:uppercase;margin-top:.6rem;margin-bottom:.35rem;font-size:.72rem;font-weight:800}.book-title{margin-bottom:.25rem;font-family:Lora,serif;font-size:1rem;font-weight:600;line-height:1.35}.book-author{color:var(--gray);margin-bottom:.5rem;font-size:.82rem}.book-stars{color:var(--orange);margin-bottom:.5rem;font-size:.82rem}.book-stars span{color:var(--gray);margin-left:.3rem}.book-desc{color:var(--gray);flex:1;margin-bottom:1rem;font-size:.85rem;line-height:1.6}.book-actions{flex-wrap:wrap;gap:.5rem;margin-top:auto;display:flex}.hl-meta-row{flex-wrap:wrap;gap:.35rem;margin-bottom:.55rem;display:flex}.hl-meta-tag{color:var(--jade);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:20px;align-items:center;gap:.25rem;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.btn-hoc-lieu{color:#fff;background:#16a34a;border-radius:50px;align-items:center;padding:.55rem 1.1rem;font-family:Nunito,sans-serif;font-size:.82rem;font-weight:800;text-decoration:none;transition:transform .2s,opacity .2s;display:inline-flex}.btn-hoc-lieu:hover{opacity:.88;transform:translateY(-2px)}.book-btn{border-radius:50px;align-items:center;padding:.55rem 1.1rem;font-family:Nunito,sans-serif;font-size:.82rem;font-weight:800;text-decoration:none;transition:transform .2s,opacity .2s;display:inline-flex}.book-btn:hover{opacity:.88;transform:translateY(-2px)}.btn-read{background:var(--navy);color:#fff}.btn-soon{background:var(--light);color:var(--gray);border:1px solid var(--border);cursor:default}.btn-preview{color:#fff;background:#52b788;border-radius:50px;align-items:center;gap:.3rem;padding:.55rem 1rem;font-family:Nunito,sans-serif;font-size:.82rem;font-weight:800;text-decoration:none;transition:transform .2s,opacity .2s;display:inline-flex}.btn-preview:hover{opacity:.88;transform:translateY(-2px)}.btn-buy{background:var(--orange);color:#fff;border-radius:50px;align-items:center;gap:.3rem;padding:.55rem 1rem;font-family:Nunito,sans-serif;font-size:.82rem;font-weight:800;text-decoration:none;transition:transform .2s,opacity .2s;display:inline-flex}.btn-buy:hover{opacity:.88;transform:translateY(-2px)}footer{background:var(--navy);color:#ffffff80;text-align:center;padding:2.5rem;font-size:.85rem;line-height:1.8}footer strong{color:var(--yellow)}.footer-brand{justify-content:center;align-items:center;gap:.5rem;margin-bottom:.3rem;font-size:1.1rem;font-weight:800;display:flex}.footer-brand-icon{font-size:1.5rem;line-height:1}@media (max-width:680px){nav{flex-wrap:wrap;gap:.6rem;padding:.6rem 1rem}.nav-logo{font-size:1.1rem}.nav-right{flex:auto;justify-content:flex-end;gap:.6rem;min-width:0}.nav-search{flex:auto;min-width:0;padding:.35rem .85rem}.nav-search input{width:100%}.hero:not(.hero--img){min-height:min(var(--hero-h,420px), 440px);padding:3rem 1.25rem 2.5rem}.hero-sub{margin-bottom:1.75rem;font-size:.98rem}.hero-stats{gap:1.5rem 2rem}.stat-num{font-size:1.6rem}.feat-slide{grid-template-columns:1fr;padding:2rem 1.5rem}.featured-visual,.feat-nav{display:none}.cat-section{padding:2rem 1.25rem 0}.section-wrap{padding:0 1.25rem 4rem}.books-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.type-tab{padding:.55rem 1.1rem;font-size:.85rem}.type-tabs,.cat-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;margin-left:-1.25rem;margin-right:-1.25rem;padding-left:1.25rem;padding-right:1.25rem;overflow-x:auto}.type-tabs::-webkit-scrollbar{display:none}.cat-tabs::-webkit-scrollbar{display:none}.type-tab,.cat-tab{white-space:nowrap;flex-shrink:0}}@media (max-width:430px){.nav-logo{font-size:1rem}.nav-typing-link{padding:.3rem .6rem;font-size:.8rem}.hero:not(.hero--img){min-height:min(var(--hero-h,340px), 360px);padding:2.5rem 1.1rem 2.25rem}.hero--img .hero-content{padding:1.25rem 1rem}.hero-eyebrow{margin-bottom:1rem;font-size:.68rem}.hero-stats{gap:1rem 1.5rem}.cat-section{padding:1.5rem 1rem 0}.section-wrap{padding:0 1rem 3rem}.books-grid{grid-template-columns:1fr;gap:1rem}.type-tabs,.cat-tabs{margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}}.admin-wrap{max-width:1000px;margin:0 auto;padding:2rem 1.5rem 5rem}.admin-card{border:2px solid var(--border);background:#fff;border-radius:16px;margin-bottom:1.5rem;padding:1.5rem}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .5rem}.admin-field{flex-direction:column;gap:.3rem;margin-bottom:1rem;display:flex}.admin-field label{font-size:.85rem;font-weight:700}.admin-field input,.admin-field textarea,.admin-field select{border:2px solid var(--border);background:#fff;border-radius:8px;padding:.5rem .7rem;font-family:Nunito,sans-serif;font-size:.9rem}.admin-btn{cursor:pointer;background:var(--navy);color:#fff;border:none;border-radius:50px;align-items:center;gap:.4rem;padding:.55rem 1.2rem;font-family:Nunito,sans-serif;font-size:.85rem;font-weight:800;text-decoration:none;display:inline-flex}.admin-btn.secondary{color:var(--navy);border:2px solid var(--border);background:#fff}.admin-btn.danger{background:var(--pink)}.admin-grid2{grid-template-columns:1fr 1fr;gap:0 1rem;display:grid}@media (max-width:640px){.admin-grid2{grid-template-columns:1fr}}.ty-page{background:var(--cream);flex-direction:column;min-height:100vh;font-family:Nunito,sans-serif;display:flex}.ty-nav{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:2px solid var(--border);background:#fdf8f2f2;align-items:center;gap:1rem;height:52px;padding:0 1.5rem;display:flex;position:sticky;top:0}.ty-nav-logo{color:var(--orange);font-size:1rem;font-weight:900;text-decoration:none}.ty-nav-title{color:var(--navy);font-size:.95rem;font-weight:800}.ty-nav-back{color:var(--gray);margin-left:auto;font-size:.82rem;font-weight:700;text-decoration:none}.ty-nav-back:hover{color:var(--orange)}.ty-layout{flex:1;display:flex;overflow:hidden}.ty-sidebar{border-right:1px solid var(--border);background:#fff;flex-direction:column;flex-shrink:0;gap:.35rem;width:240px;padding:1rem .75rem;display:flex;overflow-y:auto}.ty-sidebar-head{letter-spacing:2px;text-transform:uppercase;color:var(--gray);margin-bottom:.25rem;padding:0 .5rem;font-size:.7rem;font-weight:800}.ty-lesson-btn{text-align:left;cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:10px;flex-direction:column;gap:.2rem;width:100%;padding:.6rem .75rem;transition:all .15s;display:flex}.ty-lesson-btn:hover{background:var(--light);border-color:var(--border)}.ty-lesson-btn.active{border-color:var(--orange);background:#fff5eb}.ty-lesson-name{color:var(--navy);font-size:.85rem;font-weight:700;line-height:1.3}.ty-lesson-meta{color:var(--gray);font-size:.72rem}.ty-main{flex-direction:column;flex:1;gap:1.25rem;padding:1.5rem 2rem;display:flex;position:relative;overflow-y:auto}.ty-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.ty-title{color:var(--navy);margin-bottom:.4rem;font-size:1.25rem;font-weight:800}.ty-tags{flex-wrap:wrap;gap:.4rem;display:flex}.ty-tag{background:var(--light);color:var(--gray);border-radius:20px;padding:.2rem .6rem;font-size:.72rem;font-weight:700}.ty-stats{flex-wrap:wrap;gap:1rem;display:flex}.ty-stat{border:1px solid var(--border);text-align:center;background:#fff;border-radius:12px;min-width:80px;padding:.6rem 1rem}.ty-stat-val{color:var(--orange);font-size:1.4rem;font-weight:900;line-height:1;display:block}.ty-stat-label{color:var(--gray);margin-top:.2rem;font-size:.7rem;display:block}.ty-progress-bar{background:var(--border);border-radius:3px;height:6px;overflow:hidden}.ty-progress-fill{background:var(--teal);border-radius:3px;height:100%;transition:width .2s}.ty-desc{color:#1a3a5c;background:#edf6ff;border:1.5px solid #b6d8f7;border-radius:12px;padding:.75rem 1.25rem;font-size:.88rem;line-height:1.7}.ty-desc:before{content:"💡 "}.ty-richref{border:1.5px solid var(--border);color:var(--navy);background:#fffbf5;border-radius:14px;margin-bottom:0;padding:1rem 1.5rem;font-size:1rem;line-height:1.9}.ty-richref b,.ty-richref strong{font-weight:800}.ty-richref i,.ty-richref em{font-style:italic}.ty-richref u{text-decoration:underline}.ty-richref font[size="1"]{font-size:.72em}.ty-richref font[size="2"]{font-size:.875em}.ty-richref font[size="3"]{font-size:1em}.ty-richref font[size="4"]{font-size:1.25em}.ty-richref font[size="5"]{font-size:1.55em;font-weight:700}.ty-richref font[size="6"]{font-size:2em;font-weight:800}.ty-target{border:1px solid var(--border);letter-spacing:.02em;cursor:text;-webkit-user-select:none;user-select:none;background:#fff;border-radius:14px;padding:1.25rem 1.5rem;font-family:Courier New,Courier,monospace;font-size:1.05rem;line-height:1.9}.ty-char{position:relative}.ty-correct{color:var(--teal)}.ty-wrong{color:#fff;background:#e76f51;border-radius:2px}.ty-cursor{border-left:2px solid var(--orange);animation:1s step-end infinite ty-blink}@keyframes ty-blink{50%{opacity:0}}.ty-hidden-input{opacity:0;resize:none;border:none;width:1px;height:1px;padding:0;position:fixed;top:-9999px;left:-9999px;overflow:hidden}.ty-typed-area{border:2px solid var(--border);cursor:text;word-break:break-all;background:#fff;border-radius:14px;width:100%;min-height:52px;padding:.9rem 1.25rem;font-family:Courier New,Courier,monospace;font-size:1rem;line-height:1.7;transition:border-color .2s}.ty-typed-area:hover{border-color:var(--orange-light,#ffc89a)}.ty-typed-area.done{background:#f6fdf7;border-color:#52b788}.ty-typed-hint{color:#aaa;font-family:inherit;font-size:.9rem;font-style:italic}.ty-composing{border-bottom:2.5px solid var(--orange);color:#888}.ty-typed-caret{background:var(--orange);vertical-align:text-bottom;width:2px;height:1.15em;margin-left:1px;animation:1s step-end infinite ty-blink;display:inline-block}.ty-header-btns{flex-wrap:wrap;gap:.5rem;display:flex}.ty-btn-reset,.ty-btn-kbd{border:1.5px solid var(--border);color:var(--gray);cursor:pointer;white-space:nowrap;background:0 0;border-radius:20px;padding:.4rem 1rem;font-size:.8rem;font-weight:700;transition:all .15s}.ty-btn-reset:hover{border-color:var(--orange);color:var(--orange)}.ty-btn-kbd:hover,.ty-btn-kbd.active{border-color:var(--teal);color:var(--teal)}.ty-done{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;background:#fdf8f2eb;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ty-done-box{border:2px solid var(--orange);text-align:center;background:#fff;border-radius:20px;padding:2.5rem 3rem;box-shadow:0 8px 40px #0000001f}.ty-done-emoji{margin-bottom:.5rem;font-size:3rem}.ty-done-title{color:var(--navy);margin-bottom:1.25rem;font-size:1.6rem;font-weight:900}.ty-done-stats{color:var(--gray);justify-content:center;gap:2rem;margin-bottom:1.5rem;font-size:1rem;display:flex}.ty-done-stats strong{color:var(--orange);font-size:1.4rem;font-weight:900;display:block}.ty-btn-retry{background:var(--orange);color:#fff;cursor:pointer;border:none;border-radius:30px;padding:.7rem 2rem;font-size:1rem;font-weight:800;transition:opacity .2s}.ty-btn-retry:hover{opacity:.85}.ty-empty{color:var(--gray);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;display:flex}.ty-btn-back{background:var(--orange);color:#fff;border-radius:30px;padding:.6rem 1.5rem;font-size:.9rem;font-weight:800;text-decoration:none}@media (max-width:640px){.ty-layout{flex-direction:column}.ty-sidebar{border-right:none;border-bottom:1px solid var(--border);flex-flow:row;gap:.4rem;width:100%;padding:.5rem;overflow-x:auto}.ty-sidebar-head{display:none}.ty-lesson-btn{flex-shrink:0;min-width:140px}.ty-main{padding:1rem}.ty-target{font-size:.95rem}}.vkb-wrap{border:1px solid var(--border);background:#f7f3ec;border-radius:18px;flex-direction:column;gap:.85rem;padding:1rem 1.25rem 1.25rem;display:flex;overflow-x:auto}.vkb-top-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.vkb-hint-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.vkb-hint-label{color:var(--gray);font-size:.78rem;font-weight:700}.vkb-hint-char{color:var(--navy);text-align:center;min-width:1.5rem;font-size:1.5rem;font-weight:900;line-height:1}.vkb-hint-telex{color:var(--orange);border:2px solid var(--orange);letter-spacing:.15em;background:#fff;border-radius:8px;padding:.15rem .6rem;font-family:Courier New,monospace;font-size:1.05rem;font-weight:900}.vkb-hint-both{color:var(--gray);gap:.75rem;font-family:Courier New,monospace;font-size:.8rem;display:flex}.vkb-hint-both b{color:var(--navy);margin-right:.25rem;font-family:Nunito,sans-serif}.vkb-home-hint{color:var(--gray);font-size:.78rem;font-weight:600}.vkb-method-toggle{border:2px solid var(--border);border-radius:20px;flex-shrink:0;display:flex;overflow:hidden}.vkb-method-btn{color:var(--gray);cursor:pointer;background:0 0;border:none;padding:.3rem .9rem;font-size:.8rem;font-weight:800;transition:all .15s}.vkb-method-btn.active{background:var(--orange);color:#fff}.vkb-keyboard{flex-direction:column;gap:5px;min-width:680px;display:flex}.vkb-row{gap:5px;width:100%;display:flex}.vkb-key{cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap;border:2px solid #d4ccc0;border-radius:8px;flex:1;justify-content:center;align-items:center;min-width:0;height:44px;font-size:.82rem;font-weight:800;transition:background .12s,border-color .12s,box-shadow .12s,transform .12s;display:flex;position:relative;overflow:hidden;box-shadow:0 3px #c0b8b0}.vkb-key-label{font-size:.78rem;font-weight:800}.vkb-key-special{font-size:.68rem;font-weight:700}.vkb-key-active{animation:.75s ease-in-out infinite vkb-pulse;transform:translateY(2px)!important;box-shadow:0 1px #00000026!important}@keyframes vkb-pulse{0%,to{opacity:1}50%{opacity:.7}}.vkb-home-dot{opacity:.5;background:#999;border-radius:50%;width:5px;height:5px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.vkb-key-order{opacity:.85;font-size:.58rem;font-weight:900;line-height:1;position:absolute;top:2px;right:3px}.vkb-legend{flex-wrap:wrap;gap:.35rem .9rem;display:flex}.vkb-legend-item{align-items:center;gap:.3rem;display:flex}.vkb-legend-dot{border-radius:50%;flex-shrink:0;width:11px;height:11px}.vkb-legend-text{color:var(--gray);font-size:.68rem}@keyframes qz-bg-cycle{0%,14%{background-image:linear-gradient(120deg,#fff0f6 0%,#f1eeff 35%,#e9fbf2 68%,#fffbea 100%)}17%,31%{background-image:linear-gradient(120deg,#f1eeff 0%,#e6f6ff 35%,#e9fbf2 68%,#fff0f6 100%)}34%,48%{background-image:linear-gradient(120deg,#e9fbf2 0%,#fffbea 35%,#e6f6ff 68%,#f1eeff 100%)}51%,65%{background-image:linear-gradient(120deg,#fff3e8 0%,#fff0f6 35%,#fffbea 68%,#e9fbf2 100%)}68%,82%{background-image:linear-gradient(120deg,#e6f6ff 0%,#f1eeff 35%,#fff0f6 68%,#fff3e8 100%)}85%,99%{background-image:linear-gradient(120deg,#fffbea 0%,#e9fbf2 35%,#f1eeff 68%,#e6f6ff 100%)}to{background-image:linear-gradient(120deg,#fff0f6 0%,#f1eeff 35%,#e9fbf2 68%,#fffbea 100%)}}@keyframes qz-pop-in{0%{opacity:0;transform:scale(.92)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes qz-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-5px)rotate(-3deg)}}@keyframes qz-bounce-in{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.15)}to{transform:scale(1)}}@keyframes qz-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes qz-shimmer{0%{background-position:0 0}to{background-position:200% 0}}@keyframes qz-confetti-fall{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:0;transform:translateY(220px)rotate(360deg)}}@keyframes qz-fly-across{0%{opacity:0;transform:translate(0)rotate(-6deg)}8%{opacity:.6}20%{transform:translate(6vw,-22vh)rotate(10deg)}40%{transform:translate(-5vw,-45vh)rotate(-12deg)}60%{transform:translate(7vw,-68vh)rotate(8deg)}80%{transform:translate(-4vw,-92vh)rotate(-10deg)}92%{opacity:.55}to{opacity:0;transform:translate(4vw,-115vh)rotate(4deg)}}@keyframes qz-wing-flutter{0%,to{transform:scaleX(1)}50%{transform:scaleX(.5)}}@keyframes qz-petal-fall{0%{opacity:0;transform:translateY(-10vh)rotate(0)}10%{opacity:.65}25%{transform:translate(3.5vw,15vh)rotate(90deg)}50%{transform:translate(-3vw,45vh)rotate(180deg)}75%{transform:translate(4vw,75vh)rotate(270deg)}90%{opacity:.55}to{opacity:0;transform:translate(-1vw,112vh)rotate(360deg)}}.qz-page{background-image:linear-gradient(120deg,#fff0f6 0%,#f1eeff 35%,#e9fbf2 68%,#fffbea 100%);flex-direction:column;min-height:100vh;font-family:Nunito,sans-serif;animation:60s ease-in-out infinite qz-bg-cycle;display:flex;position:relative;overflow-x:hidden}.qz-bg-decor{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.qz-nav,.qz-main{z-index:1;position:relative}.qz-butterfly{filter:drop-shadow(0 2px 4px #965ac826);animation-name:qz-fly-across;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;bottom:-8vh}.qz-butterfly-wing{animation:.5s ease-in-out infinite qz-wing-flutter;display:inline-block}.qz-petal{animation-name:qz-petal-fall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-8vh}.qz-nav{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffbf;border-bottom:2px solid #f0d9ff;align-items:center;gap:1rem;height:56px;padding:0 1.5rem;display:flex;position:sticky;top:0}.qz-nav-logo{color:#c2226b;font-size:1rem;font-weight:900;text-decoration:none}.qz-nav-title{color:#6a3fc7;font-size:.95rem;font-weight:800}.qz-nav-back{color:#9c8ac7;margin-left:auto;font-size:.82rem;font-weight:700;text-decoration:none;transition:color .15s}.qz-nav-back:hover{color:#c2226b}.qz-main{flex-direction:column;flex:1;gap:1.25rem;padding:1.75rem 1.5rem 3rem;display:flex}.gm-main-padded{padding-bottom:7rem}.qz-breadcrumb{color:#8a7fa8;flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.85rem;display:flex}.qz-crumb{color:#5b3fa0;font-weight:800}.qz-crumb-btn{color:#c2226b;cursor:pointer;font-weight:800;font-size:inherit;background:0 0;border:none;padding:0;font-family:inherit}.qz-crumb-btn:hover{text-decoration:underline}.qz-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.qz-title{color:#5b3fa0;margin-bottom:.4rem;font-size:1.3rem;font-weight:900}.qz-tags{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.qz-header-inline{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.qz-header-inline .qz-title{margin-bottom:0}.qz-game-hint{text-align:center;color:#1573b8;font-size:1.35rem;font-weight:800}.qz-tag{color:#6a3fc7;background:#f1eeff;border-radius:20px;padding:.25rem .7rem;font-size:.72rem;font-weight:800}.qz-desc{color:#1573b8;background:#eaf6ff;border:1.5px solid #bce3ff;border-radius:14px;padding:.75rem 1.25rem;font-size:.88rem;line-height:1.7}.qz-desc:before{content:"💡 "}.qz-progress-label{color:#8a7fa8;font-size:.8rem;font-weight:800}.qz-progress-bar{background:#f1eeff;border-radius:5px;height:8px;overflow:hidden}.qz-progress-fill{background:linear-gradient(90deg,#ffafd1,#c3a6ff,#9cd4ff,#ffafd1) 0 0/250% 100%;border-radius:5px;height:100%;transition:width .35s;animation:3s linear infinite qz-shimmer}.qz-empty{color:#8a7fa8;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex}.qz-btn-back{color:#fff;background:linear-gradient(135deg,#ffafd1,#c3a6ff);border-radius:30px;padding:.65rem 1.6rem;font-size:.9rem;font-weight:800;text-decoration:none;box-shadow:0 6px 18px #c2226b40}.qz-question-card{background:#fff;border:2px solid #f0d9ff;border-radius:22px;padding:1.6rem 1.85rem;animation:.32s both qz-pop-in;box-shadow:0 10px 30px #785ac814}.qz-question-num{color:#c2226b;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:.5rem;font-size:.75rem;font-weight:900}.lg-question-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.lg-question-num{margin-bottom:0}.lg-audio-btn{padding:0}.qz-question-text{color:#43325e;margin-bottom:1.25rem;font-size:1.15rem;font-weight:800;line-height:1.6}.qz-question-img{object-fit:contain;border:2px solid #f0d9ff;border-radius:16px;max-width:100%;max-height:320px;margin-bottom:1rem;display:block}.qz-picword-row{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.6rem;margin-bottom:1rem;display:flex}.qz-picword{color:#c56a00;font-size:1.7rem;font-weight:900}.qz-picword-phonetic{color:#8a7fa8;font-size:1.05rem;font-weight:600}.qz-phonetic-inline{color:#8a7fa8;margin-left:.35em;font-size:.82em;font-style:italic;font-weight:400}.qz-phonetic-block{color:#8a7fa8;text-align:center;margin-top:.3rem;font-size:.85rem;font-style:italic;font-weight:400;display:block}.qz-picword-phonetic,.qz-phonetic-inline,.qz-phonetic-block,.fc-card-phonetic,.fc-card-example-phonetic,.mg-tile-phonetic,.mm-card-phonetic,.ws-word-phonetic,.pr-phonetic,.ipa-text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.wt-badge{color:#6a3fc7;vertical-align:middle;background:#f1eeff;border:1px solid #e4d9ff;border-radius:20px;margin-left:.4em;padding:.1rem .6rem;font-size:.7rem;font-weight:800;display:inline-block}.qz-mc-word-wrap{margin-bottom:1.25rem}.qz-mc-word{color:#c56a00;text-align:center;font-size:1.65rem;font-weight:900}.qz-audio-box{background:#fff;border:2px solid #f0d9ff;border-radius:18px;flex-wrap:wrap;align-items:center;gap:.7rem;margin-bottom:1rem;padding:.85rem 1.1rem;display:flex;box-shadow:0 8px 24px #785ac814}.qz-audio-btn{color:#6a3fc7;cursor:pointer;background:#f5f0ff;border:2px solid #c3a6ff;border-radius:30px;align-items:center;gap:.4rem;padding:.55rem 1.2rem;font-size:.9rem;font-weight:800;transition:all .15s;display:inline-flex}.qz-audio-btn:hover:not(:disabled){background:#ede4ff;transform:translateY(-1px)}.qz-audio-btn:disabled{opacity:.4;cursor:not-allowed}.qz-audio-count{color:#8a7fa8;font-size:.8rem;font-weight:700}.qz-audio-box--frame{flex-direction:column;align-items:stretch;gap:.6rem}.qz-audio-label{color:#6a3fc7;font-size:.85rem;font-weight:800}.qz-audio-iframe{background:#f5f0ff;border:none;border-radius:12px;width:100%;height:110px}@keyframes qz-timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.qz-timer{color:#6a3fc7;white-space:nowrap;background:#f1eeff;border-radius:20px;align-self:flex-start;padding:.4rem 1rem;font-size:.95rem;font-weight:900}.qz-timer.low{color:#c2226b;background:#ffe3e8;animation:1s ease-in-out infinite qz-timer-pulse}.qz-group-instructions{color:#6a5a8a;margin-bottom:1rem;font-size:.88rem;line-height:1.6}.qz-passage{white-space:pre-line;color:#43325e;font-size:1rem;line-height:2.1}.qz-blank-input{color:#43325e;text-align:center;background:#f5f0ff;border:none;border-bottom:2px solid #c3a6ff;border-radius:6px 6px 0 0;width:130px;margin:0 .15rem;padding:.15rem .5rem;font-size:.95rem;font-weight:700;display:inline-block}.qz-blank-input:focus{background:#ede4ff;border-color:#6a3fc7;outline:none}.qz-blank-input:disabled{background:0 0}.qz-blank-input.correct{color:#1a8f55;background:#dff7ea;border-color:#52c98a}.qz-blank-input.wrong{color:#c2226b;background:#ffe3e8;border-color:#ff9fa8}.qz-table-wrap{margin:.25rem 0 .5rem;overflow-x:auto}.qz-table{border-collapse:collapse;color:#43325e;width:100%;font-size:.95rem;line-height:1.6}.qz-table td{vertical-align:top;text-align:left;border:1.5px solid #e4d9ff;padding:.6rem .8rem}.qz-table-bold{text-align:center;background:#f7f3ff;font-weight:800}.qz-group-mcq-list{flex-direction:column;gap:1.25rem;display:flex}.qz-group-mcq-item+.qz-group-mcq-item{border-top:1.5px dashed #eee6ff;padding-top:1.1rem}.qz-group-mcq-q{color:#43325e;margin-bottom:.6rem;font-size:1rem;font-weight:800}.qz-essay{flex-direction:column;gap:.9rem;display:flex}.qz-essay-prompt{color:#7a4a00;white-space:pre-line;background:#fff3e8;border:1.5px solid #ffd9ad;border-radius:12px;padding:.9rem 1.1rem;font-size:.95rem;font-weight:700;line-height:1.6}.qz-essay-input{color:#43325e;resize:vertical;border:2px solid #eee6ff;border-radius:14px;width:100%;padding:1rem;font-family:inherit;font-size:.95rem;line-height:1.7}.qz-essay-input:focus{border-color:#c3a6ff;outline:none}.qz-essay-input:disabled{background:#fafaff}.qz-essay-meta{color:#8a7fa8;font-size:.8rem;font-weight:700}.qz-essay-email{color:#43325e;border:2px solid #eee6ff;border-radius:30px;width:100%;padding:.7rem 1.2rem;font-family:inherit;font-size:.92rem}.qz-essay-email:focus{border-color:#c3a6ff;outline:none}.qz-essay-email:disabled{background:#fafaff}.qz-essay-result{background:#faf8ff;border:2px solid #c3a6ff;border-radius:16px;flex-direction:column;gap:.8rem;padding:1.2rem 1.4rem;animation:.3s both qz-pop-in;display:flex}.qz-essay-summary{color:#43325e;font-size:.9rem;line-height:1.6}.qz-feedback{border-radius:16px;margin-top:1.1rem;padding:.9rem 1.15rem;font-size:.9rem;line-height:1.6;animation:.3s both qz-pop-in}.qz-feedback.right{color:#1a8f55;background:#dff7ea;border:2px solid #8fe8b8}.qz-feedback.wrong{color:#c2226b;background:#ffe3e8;border:2px solid #ffafaf;animation:.4s both qz-shake}.qz-feedback-verdict{align-items:center;gap:.35rem;font-weight:900;display:inline-flex}.qz-feedback.right .qz-feedback-verdict:before{content:"🎉";animation:.5s qz-bounce-in}.qz-feedback-explain{color:#43325e;margin-top:.4rem;font-weight:600}.lg-feedback{margin-top:.45rem;padding:.5rem .9rem;font-size:.85rem}.qz-options{flex-direction:column;gap:.6rem;display:flex}.qz-options--grid{grid-template-columns:repeat(2,1fr);display:grid}.qz-options--grid .qz-option{text-align:center}.qz-option{text-align:left;color:#43325e;cursor:pointer;background:#fafaff;border:2px solid #eee6ff;border-radius:14px;padding:.8rem 1.1rem;font-size:.95rem;font-weight:700;transition:all .15s}.qz-option:hover:not(:disabled){background:#f5f0ff;border-color:#c3a6ff;transform:translateY(-1px)}.qz-option:disabled{cursor:default}.qz-option.selected{background:#f1eeff;border-color:#c3a6ff;box-shadow:0 3px 10px #966eff2e}.qz-option.correct{color:#1a8f55;background:#dff7ea;border-color:#52c98a;animation:.4s qz-bounce-in}.qz-option.wrong{color:#c2226b;background:#ffe3e8;border-color:#ff9fa8}.qz-img-options{grid-template-columns:repeat(2,1fr);gap:1rem;max-width:360px;margin:.5rem auto 0;display:grid}.qz-img-option{aspect-ratio:1;cursor:pointer;background:#fafaff;border:2px solid #eee6ff;border-radius:14px;justify-content:center;align-items:center;width:100%;max-width:160px;margin:0 auto;padding:.5rem;transition:all .15s;display:flex}.qz-img-option:hover:not(:disabled){background:#f5f0ff;border-color:#c3a6ff;transform:translateY(-2px)}.qz-img-option:disabled{cursor:default}.qz-img-option.selected{background:#f1eeff;border-color:#c3a6ff;box-shadow:0 3px 10px #966eff2e}.qz-img-option.correct{background:#dff7ea;border-color:#52c98a;animation:.4s qz-bounce-in}.qz-img-option.wrong{background:#ffe3e8;border-color:#ff9fa8}.qz-img-option-img{object-fit:contain;max-width:100%;max-height:100%}.qz-img-option-emoji{font-size:2rem}.qz-fill-input{color:#43325e;border:2px solid #eee6ff;border-radius:14px;width:100%;padding:.8rem 1.1rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:border-color .15s}.qz-fill-input:focus{border-color:#c3a6ff;outline:none}.qz-fill-input:disabled{background:#fafaff}.qz-fill-hint{color:#8a7fa8;margin-top:.5rem;font-size:.78rem}.qz-nav-btns{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.qz-nav-btns-right{gap:.75rem;margin-left:auto;display:flex}.gm-nav-fixed{z-index:20;-webkit-backdrop-filter:blur(8px);background:#ffffffeb;border-radius:20px 20px 0 0;width:min(900px,100% - 3rem);padding:.85rem 1rem;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -4px 16px #5028821a}.qz-btn-prev,.qz-btn-next,.qz-btn-submit,.qz-btn-retry{cursor:pointer;border:none;border-radius:30px;padding:.65rem 1.6rem;font-size:.9rem;font-weight:800;transition:all .15s}.qz-btn-prev{color:#8a7fa8;background:#fff;border:2px solid #eee6ff}.qz-btn-prev:hover:not(:disabled){color:#6a3fc7;border-color:#c3a6ff}.qz-btn-prev:disabled{opacity:.4;cursor:not-allowed}.qz-btn-next,.qz-btn-submit,.qz-btn-retry{color:#fff;background:linear-gradient(135deg,#ffafd1,#c3a6ff);box-shadow:0 6px 18px #c2226b38}.qz-btn-next:hover:not(:disabled),.qz-btn-submit:hover:not(:disabled),.qz-btn-retry:hover:not(:disabled){transform:translateY(-2px)scale(1.02);box-shadow:0 10px 24px #c2226b4d}.qz-btn-next:disabled,.qz-btn-submit:disabled,.qz-btn-retry:disabled{opacity:.35;cursor:not-allowed;pointer-events:none;box-shadow:none;background:#d8d2e8}.qz-btn-next:active,.qz-btn-submit:active,.qz-btn-retry:active{transform:translateY(0)scale(.98)}.qz-result-box{text-align:center;background:#fff;border:2px solid #f0d9ff;border-radius:26px;padding:2.25rem 2.5rem;animation:.4s both qz-pop-in;position:relative;overflow:hidden;box-shadow:0 14px 40px #785ac81f}.qz-result-emoji{margin-bottom:.5rem;font-size:3.2rem;animation:.6s qz-bounce-in}.qz-result-score{background:linear-gradient(135deg,#c2226b,#6a3fc7);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:.25rem;font-size:2.1rem;font-weight:900}.qz-result-label{color:#8a7fa8;margin-bottom:1.5rem;font-size:.9rem;font-weight:700}.qz-confetti-piece{pointer-events:none;font-size:1.3rem;animation:2.2s ease-in infinite qz-confetti-fall;position:absolute;top:0}.qz-review-list{text-align:left;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.qz-review-item{border:2px solid #eee6ff;border-radius:14px;padding:.8rem 1.1rem}.qz-review-item.right{background:#effbf4;border-color:#8fe8b8}.qz-review-item.wrong{background:#fff0f1;border-color:#ffafaf}.qz-review-q{color:#43325e;margin-bottom:.35rem;font-size:.9rem;font-weight:800}.qz-review-ans{color:#8a7fa8;font-size:.82rem}.qz-review-ans strong{color:#43325e}.qz-card-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.9rem;display:grid}.qz-card{text-align:center;cursor:pointer;border:2.5px solid #0000;border-radius:20px;flex-direction:column;align-items:center;gap:.45rem;padding:1.5rem 1rem;transition:all .2s cubic-bezier(.34,1.56,.64,1);animation:.3s both qz-pop-in;display:flex}.qz-card:hover{transform:translateY(-4px)scale(1.03)}.qz-card:hover .qz-card-icon{animation:1.1s ease-in-out infinite qz-float}.qz-card-icon{font-size:1.9rem}.qz-card-label{font-size:.95rem;font-weight:900}.qz-card-meta{opacity:.75;font-size:.75rem;font-weight:700}.qz-search-box{background:#fff;border:2px solid #eee6ff;border-radius:30px;align-items:center;gap:.6rem;margin-bottom:1rem;padding:.65rem 1.1rem;display:flex}.qz-search-box:focus-within{border-color:#c3a6ff}.qz-search-icon{opacity:.7;font-size:.95rem}.qz-search-input{color:#43325e;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.92rem;font-weight:700}.qz-search-input::placeholder{color:#b4a8d4;font-weight:600}.qz-search-clear{color:#8a7fa8;cursor:pointer;background:#f1eeff;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;display:flex}.qz-search-clear:hover{color:#6a3fc7;background:#ede4ff}.qz-search-empty{color:#8a7fa8;text-align:center;padding:1.5rem 0;font-size:.9rem;font-weight:700}.qz-quiz-list{flex-direction:column;gap:.65rem;display:flex}.qz-quiz-item{cursor:pointer;text-align:left;background:#fff;border:2px solid #eee6ff;border-radius:16px;justify-content:space-between;align-items:center;gap:.75rem;padding:.95rem 1.2rem;transition:all .15s;animation:.3s both qz-pop-in;display:flex}.qz-quiz-item:hover{background:#faf8ff;border-color:#c3a6ff;transform:translate(3px)}.qz-quiz-item-title{color:#43325e;font-weight:800}.qz-quiz-item-meta{color:#8a7fa8;margin-top:.15rem;font-size:.78rem;font-weight:600}.bl-tile-row{flex-wrap:wrap;justify-content:center;gap:.9rem;margin:1.75rem 0;display:flex}.bl-tile{color:#43325e;cursor:pointer;text-align:center;text-transform:lowercase;background:#fff;border:3px solid #eee6ff;border-radius:18px;min-width:68px;padding:.9rem 1.15rem;font-family:inherit;font-size:1.9rem;font-weight:900;transition:all .15s}.bl-tile:hover{border-color:#c3a6ff;transform:translateY(-2px)}.bl-tile.heard{color:#1a8f55;background:#effbf4;border-color:#52c98a}.bl-tile.blending{border-color:#c2226b;animation:.35s bl-pulse}.bl-hint{text-align:center;color:#8a7fa8;font-size:.85rem;font-weight:700}.bl-word-reveal{text-align:center;animation:.35s both qz-pop-in}.bl-word-reveal-emoji{margin-bottom:.4rem;font-size:3.5rem;animation:.5s qz-bounce-in}.bl-word-reveal-img{object-fit:contain;border:2px solid #f0d9ff;border-radius:16px;max-width:100%;max-height:160px;margin:0 auto .6rem;animation:.5s qz-bounce-in;display:block}.bl-word-reveal-text{letter-spacing:1px;background:linear-gradient(135deg,#c2226b,#6a3fc7);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:900}.bl-word-reveal-text.correct{-webkit-text-fill-color:currentColor;color:#1a8f55;background:0 0}.bl-word-reveal-text.wrong{-webkit-text-fill-color:currentColor;color:#c2226b;background:0 0}.bl-word-reveal-row{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.7rem;display:flex}.bl-word-reveal-pinyin{color:#8a7fa8;font-size:1.35rem;font-weight:700}.bl-dots{justify-content:center;gap:.4rem;margin-top:.5rem;display:flex}.bl-dot{background:#eee6ff;border-radius:50%;width:10px;height:10px;transition:background .2s}.bl-dot.done{background:#8fe8b8}.bl-dot.current{background:#c3a6ff}@keyframes bl-pulse{0%{transform:scale(1)}50%{transform:scale(1.18)}to{transform:scale(1)}}.fc-card{aspect-ratio:4/3;cursor:pointer;perspective:1200px;background:0 0;border:none;border-radius:22px;width:100%;max-width:340px;padding:0}.fc-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.9,.3,1.3);position:relative}.fc-card--flipped .fc-card-inner{transform:rotateY(180deg)}.fc-card-face{backface-visibility:hidden;background:#fff;border:2px solid #f0d9ff;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:.65rem;padding:1rem;display:flex;position:absolute;inset:0;box-shadow:0 4px #f0d9ff}.fc-card-face--front{background:linear-gradient(135deg,#fff5eb,#fff)}.fc-card-face--back{background:#effbf4;border-color:#8fe8b8;gap:.65rem;overflow-y:auto;transform:rotateY(180deg)}.fc-card-img{object-fit:contain;border-radius:14px;max-width:100%;max-height:160px;display:block}.fc-card-word{color:#c56a00;text-align:center;font-size:1.8rem;font-weight:800}.fc-card-phonetic{color:#8a7fa8;text-align:center;margin-top:-.4rem;font-size:.85rem;font-style:italic;font-weight:400}.fc-card-meaning{color:#c2226b;text-align:center;font-size:1.5rem;font-weight:800;line-height:1.4}.fc-card-definition{color:#5b3fa0;text-align:center;font-size:.92rem;font-style:normal;font-weight:700;line-height:1.55}.fc-card-example{color:#1573b8;text-align:center;font-size:.86rem;font-style:normal;font-weight:700;line-height:1.55}.fc-card-example-phonetic{color:#8a7fa8;text-align:center;margin-top:-.5rem;font-size:.8rem;font-style:italic;font-weight:400}.mg-board{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.mg-col{flex-direction:column;gap:.6rem;display:flex}.mg-tile{color:#43325e;cursor:pointer;text-align:left;background:#fff;border:2px solid #eee6ff;border-radius:14px;align-items:center;gap:.6rem;padding:.6rem .9rem;font-size:.95rem;font-weight:700;transition:all .15s;display:flex}.mg-tile:hover:not(:disabled){background:#f5f0ff;border-color:#c3a6ff}.mg-tile.selected{background:#f1eeff;border-color:#6a3fc7;box-shadow:0 3px 10px #966eff2e}.mg-tile.matched{color:#1a8f55;opacity:.7;cursor:default;background:#effbf4;border-color:#8fe8b8}.mg-tile.wrong{color:#c2226b;background:#ffe3e8;border-color:#ffafaf;animation:.4s both qz-shake}.mg-tile--meaning{font-weight:600}.mg-tile-text{flex:1}.mg-tile--meaning .mg-tile-text{color:#1a8f55;font-size:1.3rem}.mg-tile-stack{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.mg-tile-stack--inline{flex-flow:wrap;align-items:baseline;gap:.5rem}.mg-tile-word{color:#c56a00;font-size:1.3rem;font-weight:800}.mg-tile-phonetic{color:#8a7fa8;font-size:.78rem;font-style:italic;font-weight:400}.tts-audio-btn{margin:0 auto 1rem;display:block}.tts-row{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-bottom:.5rem;display:flex}.tts-row .qz-fill-input{text-align:center;max-width:260px;font-size:1.1rem}.mm-grid{gap:.7rem;display:grid}.mm-card{aspect-ratio:1;cursor:pointer;perspective:900px;background:0 0;border:none;padding:0}.mm-card:disabled{cursor:default}.mm-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.2,.9,.3,1.3);position:relative}.mm-card.up .mm-card-inner{transform:rotateY(180deg)}.mm-card-face{backface-visibility:hidden;border:2px solid #f0d9ff;border-radius:14px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.mm-card-face--back{color:#fff;background:linear-gradient(135deg,#c3a6ff,#ffafd1);font-size:1.3rem;font-weight:900}.mm-card-face--front{background:#fff;padding:.4rem;transform:rotateY(180deg)}.mm-card.matched .mm-card-face--front{background:#effbf4;border-color:#8fe8b8}.mm-card-img{object-fit:contain;max-width:100%;max-height:100%}.mm-card-emoji{font-size:1.8rem}.mm-card-text{color:#43325e;text-align:center;font-size:.8rem;font-weight:800;line-height:1.25}.mm-card-stack{flex-direction:column;align-items:center;gap:.1rem;display:flex}.mm-card-word{color:#c56a00;text-align:center;font-size:1.5rem;font-weight:800;line-height:1.2}.mm-card-phonetic{color:#8a7fa8;text-align:center;font-size:.62rem;font-style:italic;font-weight:400}.us-hint{flex-direction:column;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.us-hint .qz-phonetic-block{margin-top:-.2rem}.us-hint-img{object-fit:contain;border:2px solid #f0d9ff;border-radius:14px;max-width:100%;max-height:160px;display:block}.us-hint-emoji{font-size:3rem}.us-hint-meaning{color:#6a3fc7;text-align:center;font-size:1.25rem;font-weight:700}.us-slots{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-bottom:.8rem;display:flex}.us-slot{color:#43325e;cursor:pointer;background:#faf8ff;border:2px solid #eee6ff;border-radius:10px;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;font-size:1.2rem;font-weight:900;display:flex}.us-slot:disabled{cursor:default}.us-slot.filled{background:#f1eeff;border-color:#c3a6ff}.us-gap{width:.7rem}.us-pool{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.us-tile{color:#7a4a00;cursor:pointer;background:#fff3e8;border:2px solid #ffd9ad;border-radius:10px;width:2.6rem;height:2.6rem;font-size:1.2rem;font-weight:900;transition:all .15s}.us-tile:hover:not(:disabled){transform:translateY(-2px)}.us-tile.used,.us-tile:disabled{opacity:.25;cursor:default;transform:none}.ws-wrap{flex-direction:column;align-items:center;gap:1.25rem;display:flex}.ws-words{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.ws-word{color:#c56a00;background:#f1eeff;border-radius:16px;flex-direction:column;align-items:center;padding:.4rem .9rem;font-size:1.1rem;font-weight:800;line-height:1.2;display:inline-flex}.ws-word.found{color:#1a8f55;background:#dff7ea;text-decoration:line-through}.ws-word-phonetic{color:#8a7fa8;font-size:.68rem;font-style:italic;font-weight:400}.ws-grid{-webkit-user-select:none;user-select:none;touch-action:none;background:#f0d9ff;border:2px solid #f0d9ff;border-radius:12px;gap:2px;width:100%;max-width:480px;padding:2px;display:grid}.ws-cell{aspect-ratio:1;color:#43325e;background:#fff;border-radius:4px;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:flex}.ws-cell.active{color:#6a3fc7;background:#f5f0ff}.ws-cell.found{color:#1a8f55;background:#dff7ea}.lg-mystery{flex-direction:column;align-items:center;gap:.3rem;margin-bottom:.4rem;display:flex}.lg-mystery-icon{background:#f1eeff;border:3px solid #e4d9ff;border-radius:50%;justify-content:center;align-items:center;width:84px;height:84px;font-size:2.5rem;display:flex;box-shadow:0 4px #e4d9ff}.lg-mystery-icon--pulse{animation:1.1s ease-in-out infinite bl-pulse}.lg-mystery-img{object-fit:contain;max-width:78%;max-height:78%}.lg-mystery-word{color:#c56a00;text-align:center;font-size:1.2rem;font-weight:800}.us-slots--words{gap:.6rem}.us-slot--word{width:auto;min-width:3.2rem;height:auto;min-height:2.6rem;padding:.4rem .9rem}.us-pool--words{gap:.6rem}.us-tile--word{width:auto;height:auto;padding:.55rem 1rem}.sm-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.sm-card{background:#fff;border:2px solid #f0d9ff;border-radius:16px;flex-direction:column;align-items:center;gap:.5rem;padding:.9rem .6rem;display:flex}.sm-card.hidden{background:#f5f0ff;border-style:dashed;border-color:#c3a6ff}.sm-card.correct{background:#dff7ea;border-color:#52c98a;animation:.4s qz-bounce-in}.sm-card.correct .sm-card-word{color:#1a8f55}.sm-card.wrong{background:#ffe3e8;border-color:#ff9fa8}.sm-card.wrong .sm-card-word{color:#c2226b}.sm-card-img{object-fit:contain;max-width:100%;max-height:90px;display:block}.sm-card-emoji{font-size:2.6rem}.sm-card-mystery{opacity:.6;font-size:2.6rem}.sm-card-word{color:#c56a00;text-align:center;font-size:.95rem;font-weight:800}.sm-countdown{text-align:center;color:#6a3fc7;font-size:1.1rem;font-weight:800;animation:1s ease-in-out infinite qz-timer-pulse}.ml-hint{flex-direction:column;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.ml-lives{text-align:center;margin-bottom:.75rem;font-size:1.3rem}.ml-word{flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;margin-bottom:1.25rem;display:flex}.ml-word.shake{animation:.4s both qz-shake}.ml-letter{border-radius:10px;justify-content:center;align-items:center;min-width:2.6rem;height:2.6rem;padding:0 .2rem;font-size:1.3rem;font-weight:900;display:flex}.ml-letter--fixed{color:#43325e}.ml-letter--blank{color:#43325e;cursor:pointer;background:#faf8ff;border:2px solid #eee6ff}.ml-letter--blank:disabled{cursor:default}.ml-letter--blank.filled{background:#f1eeff;border-color:#c3a6ff}.ml-pool{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.ml-tile{color:#7a4a00;cursor:pointer;background:#fff3e8;border:2px solid #ffd9ad;border-radius:10px;width:2.6rem;height:2.6rem;font-size:1.2rem;font-weight:900;transition:all .15s}.ml-tile:hover:not(:disabled){transform:translateY(-2px)}.ml-tile.used,.ml-tile:disabled{opacity:.25;cursor:default;transform:none}.pos-pool{flex-wrap:wrap;justify-content:center;gap:.6rem;min-height:2.8rem;margin-bottom:1.25rem;display:flex}.pos-tile{color:#43325e;cursor:pointer;background:#faf8ff;border:2px solid #eee6ff;border-radius:30px;padding:.55rem 1.1rem;font-size:.95rem;font-weight:800;transition:all .15s}.pos-tile:hover:not(:disabled){background:#f5f0ff;border-color:#c3a6ff;transform:translateY(-1px)}.pos-tile.selected{background:#f1eeff;border-color:#6a3fc7;box-shadow:0 3px 10px #966eff2e}.pos-tile.wrong{color:#c2226b;background:#ffe3e8;border-color:#ffafaf;animation:.4s both qz-shake}.pos-buckets{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.pos-bucket{cursor:pointer;background:#f7fbff;border:2px dashed #d6eeff;border-radius:16px;flex-direction:column;align-items:center;gap:.5rem;min-height:90px;padding:.9rem .7rem;transition:all .15s;display:flex}.pos-bucket:hover{background:#eaf4ff;border-color:#9cd4ff}.pos-bucket.wrong{background:#ffe3e8;border-color:#ffafaf;animation:.4s both qz-shake}.pos-bucket-label{color:#1573b8;text-align:center;font-weight:900}.pos-bucket-items{flex-wrap:wrap;justify-content:center;gap:.35rem;display:flex}.pos-bucket-chip{color:#1a8f55;background:#dff7ea;border-radius:20px;padding:.3rem .75rem;font-size:.85rem;font-weight:700}.pos-progress{text-align:center;color:#8a7fa8;margin-top:1rem;font-weight:800}.cz-empty{color:#8a7fa8;text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:2rem 1rem;font-weight:700;display:flex}.pr-hint{flex-direction:column;align-items:center;gap:.4rem;margin-bottom:1.5rem;display:flex}.pr-hint-img{object-fit:contain;border:2px solid #f0d9ff;border-radius:16px;max-width:100%;max-height:160px;margin-bottom:.4rem;display:block}.pr-hint-emoji{margin-bottom:.4rem;font-size:3.5rem}.pr-word{color:#3a2e5c;text-align:center;font-size:1.6rem;font-weight:900}.pr-phonetic{color:#8a7fa8;text-align:center;font-size:.95rem;font-weight:600}.pr-meaning{color:#6a3fc7;text-align:center;margin-top:.3rem;font-size:.95rem;font-weight:600}.pr-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:1rem;display:flex}.pr-score{text-align:center;border-radius:16px;margin:0 0 1.1rem;padding:1rem 1.2rem;animation:.3s both qz-pop-in}.pr-score--great{color:#1a8f55;background:#dff7ea;border:2px solid #8fe8b8}.pr-score--ok{color:#c56a00;background:#fff3e8;border:2px solid #ffd9ad}.pr-score--low{color:#c2226b;background:#ffe3e8;border:2px solid #ffafaf;animation:.4s both qz-shake}.pr-score-percent{font-size:1.8rem;font-weight:900}.pr-score-label{margin-top:.2rem;font-size:.9rem;font-weight:700}.pr-score-heard{opacity:.85;margin-top:.4rem;font-size:.8rem;font-weight:600}.rd-sentence{color:#43325e;text-align:center;margin:1rem 0 1.75rem;font-size:1.6rem;font-weight:800;line-height:2.3}.rd-word{border-radius:6px;padding:.05rem .2rem;transition:background .15s,color .15s;display:inline-block}.rd-word.active{color:#c2226b;background:#ffe3ef}.rd-word.correct{color:#1a8f55;background:#dff7ea}.rd-word.wrong{color:#c2226b;background:#ffe3e8}.rd-recording{text-align:center;color:#c2226b;margin:0 0 .75rem;font-weight:800;animation:1s ease-in-out infinite qz-timer-pulse}.rd-record-error{text-align:center;color:#c2226b;margin:0 0 .75rem;font-weight:700}.rd-score{text-align:center;color:#43325e;margin:0 0 1rem;font-size:1rem;font-weight:800}.rd-annot{vertical-align:bottom;flex-direction:column;align-items:center;line-height:1.2;display:inline-flex}.rd-annot-pinyin{color:#8a7fa8;text-transform:none;font-size:.55em;font-weight:700}.ty-pdf-frame{background:#fff;border:2px solid #f0d9ff;border-radius:16px;width:100%;height:75vh;min-height:420px}@media (max-width:640px){.qz-main{padding:1.25rem 1rem 2.5rem}.gm-main-padded{padding-bottom:6.5rem}.gm-nav-fixed{width:calc(100% - 2rem);padding:.65rem .75rem}.qz-question-card{padding:1.25rem 1.35rem}.qz-result-box{padding:1.75rem 1.35rem}.qz-card-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.bl-tile{min-width:54px;padding:.7rem .85rem;font-size:1.5rem}}@media (prefers-reduced-motion:reduce){.qz-page,.qz-progress-fill,.qz-card,.qz-question-card,.qz-feedback,.qz-option.correct,.qz-result-emoji,.qz-result-box,.qz-quiz-item,.qz-confetti-piece,.qz-card:hover .qz-card-icon,.qz-timer.low,.bl-tile.blending,.bl-word-reveal,.bl-word-reveal-emoji,.bl-word-reveal-img,.rd-recording{animation:none!important}.qz-bg-decor{display:none}}.gm-page{background:var(--cream);flex-direction:column;min-height:100vh;font-family:Nunito,sans-serif;display:flex}.gm-nav{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:2px solid var(--border);background:#fdf8f2f2;align-items:center;gap:1rem;height:52px;padding:0 1.5rem;display:flex;position:sticky;top:0}.gm-nav-logo{color:var(--orange);font-size:1rem;font-weight:900;text-decoration:none}.gm-nav-title{color:var(--navy);font-size:.95rem;font-weight:800}.gm-nav-back{color:var(--gray);margin-left:auto;font-size:.82rem;font-weight:700;text-decoration:none}.gm-nav-back:hover{color:var(--orange)}.gm-main{flex-direction:column;flex:1;align-items:center;gap:1.5rem;width:100%;max-width:640px;margin:0 auto;padding:2rem 1.5rem 3rem;display:flex}.gm-stats{gap:1rem;display:flex}.gm-stat{border:1px solid var(--border);text-align:center;background:#fff;border-radius:12px;min-width:80px;padding:.6rem 1.1rem}.gm-stat-val{color:var(--orange);font-size:1.4rem;font-weight:900;line-height:1;display:block}.gm-stat-label{color:var(--gray);margin-top:.2rem;font-size:.7rem;display:block}.gm-prompt{color:var(--navy);text-align:center;font-size:1.1rem;font-weight:800}.gm-sequence{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.gm-cell{border:2px solid var(--border);width:64px;height:64px;color:var(--navy);background:#fff;border-radius:14px;justify-content:center;align-items:center;font-size:1.8rem;font-weight:800;display:flex}.gm-cell--blank{border-style:dashed;border-color:var(--orange);color:var(--orange)}.gm-options{grid-template-columns:repeat(2,1fr);gap:.75rem;width:100%;max-width:360px;display:grid}.gm-option{border:2px solid var(--border);height:64px;color:var(--navy);cursor:pointer;box-shadow:0 2px 0 var(--border);background:#fff;border-radius:14px;justify-content:center;align-items:center;font-size:1.6rem;font-weight:800;transition:all .15s;display:flex}.gm-option:hover:not(:disabled){border-color:var(--orange);transform:translateY(-2px)}.gm-option:disabled{cursor:default}.gm-option--correct{color:#2f7a52;background:#f6fdf7;border-color:#52b788;animation:.35s gm-pop}.gm-option--wrong{color:#c0442a;background:#fff5f2;border-color:#e76f51;animation:.35s gm-shake}@keyframes gm-pop{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes gm-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.gm-cell--blank{animation:1.4s ease-in-out infinite gm-blink}@keyframes gm-blink{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.gm-option--correct,.gm-option--wrong,.gm-cell--blank,.gm-memory-inner,.gm-hub-card{transition:none!important;animation:none!important}}.gm-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.gm-btn{border:1.5px solid var(--border);color:var(--gray);cursor:pointer;background:0 0;border-radius:20px;padding:.55rem 1.25rem;font-size:.85rem;font-weight:700;transition:all .15s}.gm-btn:hover{border-color:var(--orange);color:var(--orange)}.gm-btn--primary{background:var(--orange);border-color:var(--orange);color:#fff}.gm-btn--primary:hover{color:#fff;background:#e8792f}.gm-hub-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;width:100%;display:grid}.gm-hub-card{border:2px solid var(--border);text-align:center;box-shadow:0 2px 0 var(--border);background:#fff;border-radius:18px;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;text-decoration:none;transition:all .18s;display:flex}.gm-hub-card:hover{border-color:var(--orange);transform:translateY(-3px);box-shadow:0 10px 24px #00000014}.gm-hub-icon{background:linear-gradient(135deg,#fff5eb,#fef0e2);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.gm-hub-title{color:var(--navy);font-size:1rem;font-weight:800}.gm-hub-desc{color:var(--gray);font-size:.78rem}.gm-credit{color:var(--gray);text-align:center;margin-top:auto;font-size:.72rem}.gm-credit a{color:var(--gray);text-decoration:underline}.gm-credit a:hover{color:var(--orange)}.gm-options--wide{grid-template-columns:repeat(4,1fr);max-width:480px}.gm-option--emoji{font-size:2rem}.gm-memory-grid{gap:.6rem;width:100%;max-width:420px;display:grid}.gm-memory-card{aspect-ratio:1;cursor:pointer;perspective:600px;background:0 0;border:none;border-radius:12px;padding:0}.gm-memory-card:disabled{cursor:default}.gm-memory-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.9,.3,1.3);position:relative}.gm-memory-inner--flipped{transform:rotateY(180deg)}.gm-memory-face{border:2px solid var(--border);backface-visibility:hidden;box-shadow:0 2px 0 var(--border);background:#fff;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gm-memory-face--back{background:linear-gradient(135deg,#fff5eb,#fff)}.gm-memory-face--front{border-color:var(--teal);background:#f0fbfa;transform:rotateY(180deg)}.gm-memory-face--matched{background:#f6fdf7;border-color:#52b788;box-shadow:0 0 0 3px #52b78833}.gm-memory-card:hover:not(:disabled) .gm-memory-face--back{border-color:var(--orange)}@media (max-width:480px){.gm-cell,.gm-option{width:56px;height:56px;font-size:1.4rem}.gm-options{max-width:300px}}.gm-count-field{border:2px solid var(--border);background:#fff;border-radius:16px;width:100%;max-width:320px;height:200px;position:relative;overflow:hidden}.gm-count-item{position:absolute}.gm-inline-emoji{vertical-align:middle;margin:0 .1rem;display:inline-block}.gm-maze{border:3px solid var(--navy);background:#fff;border-radius:8px;gap:0;width:fit-content;margin:0 auto;display:grid}.gm-maze-cell{box-sizing:border-box;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.gm-dpad{grid-template-rows:repeat(2,48px);grid-template-columns:repeat(3,48px);justify-content:center;gap:.4rem;display:grid}.gm-dpad-btn{border:2px solid var(--border);color:var(--navy);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;font-size:1.1rem;transition:all .15s;display:flex}.gm-dpad-btn:hover{border-color:var(--orange);color:var(--orange)}.gm-dpad-up{grid-area:1/2}.gm-dpad-left{grid-area:2/1}.gm-dpad-right{grid-area:2/3}.gm-dpad-down{grid-area:2/2}.gm-sudoku-grid{border:3px solid var(--navy);border-radius:10px;grid-template-columns:repeat(4,1fr);gap:0;width:fit-content;margin:0 auto;display:grid;overflow:hidden}.gm-sudoku-cell{border:1px solid var(--border);cursor:pointer;background:#fff;justify-content:center;align-items:center;width:64px;height:64px;transition:background .15s;display:flex}.gm-sudoku-cell:hover:not(:disabled){background:#fff5eb}.gm-sudoku-cell--given{background:var(--light);cursor:default}.gm-sudoku-cell--wrong{background:#fff5f2;animation:.35s gm-shake}@media (max-width:480px){.gm-maze-cell{width:28px;height:28px}.gm-sudoku-cell{width:54px;height:54px}}.gm-progress{color:var(--gray);border:1px solid var(--border);background:#fff;border-radius:20px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;padding:.4rem .5rem .4rem 1rem;font-size:.82rem;font-weight:700;display:flex}.gm-progress-item{color:var(--navy)}.gm-progress-sep{color:var(--border)}.gm-progress-change{background:var(--light);color:var(--navy);cursor:pointer;border:none;border-radius:16px;margin-left:.4rem;padding:.3rem .75rem;font-size:.78rem;font-weight:700;transition:all .15s}.gm-progress-change:hover{color:var(--orange);background:#fff5eb}.gm-summary{border:2px solid var(--orange);background:#fff;border-radius:20px;flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 2rem;animation:.4s gm-pop;display:flex;box-shadow:0 10px 30px #00000014}.gm-summary-emoji{font-size:3rem}.gm-summary-title{color:var(--navy);font-size:1.3rem;font-weight:900}.gm-summary-time{color:var(--gray);margin-bottom:.5rem;font-size:.9rem}.gm-select{flex-direction:column;align-items:center;gap:1rem;width:100%;display:flex}.gm-select-levels{flex-direction:column;gap:.6rem;width:100%;max-width:480px;max-height:60vh;padding:.25rem;display:flex;overflow-y:auto}.gm-select-level{border:1px solid var(--border);background:#fff;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.gm-select-level-label{color:var(--navy);white-space:nowrap;font-size:.9rem;font-weight:800}.gm-select-bai-row{gap:.5rem;display:flex}.gm-select-bai-btn{background:var(--light);border:1.5px solid var(--border);color:var(--navy);cursor:pointer;border-radius:12px;padding:.4rem .9rem;font-size:.82rem;font-weight:700;transition:all .15s}.gm-select-bai-btn:hover{border-color:var(--orange);color:var(--orange);background:#fff5eb}.gm-chess-guide-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;width:100%;display:grid}.gm-chess-guide-card{border:2px solid var(--border);text-align:center;box-shadow:0 2px 0 var(--border);background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:.5rem;padding:1.1rem;display:flex}.gm-chess-guide-name{color:var(--navy);font-size:1rem;font-weight:800}.gm-chess-guide-en{color:var(--gray);font-size:.8rem;font-weight:600}.gm-chess-guide-desc{color:var(--gray);font-size:.82rem}.gm-chess-guide-board{border:2px solid var(--navy);border-radius:6px;grid-template-rows:repeat(5,30px);grid-template-columns:repeat(5,30px);display:grid;overflow:hidden}.gm-chess-guide-sq{justify-content:center;align-items:center;display:flex;position:relative}.gm-chess-guide-sq--light{background:#fbf3e3}.gm-chess-guide-sq--dark{background:#d9a066}.gm-chess-guide-piece{width:24px;height:24px}.gm-chess-guide-dot{background:#1f243059;border-radius:50%;width:10px;height:10px;position:absolute}.gm-chess-guide-dot--capture{background:0 0;border:2px solid #c0442a;width:16px;height:16px}.gm-chess-guide-legend{color:var(--gray);align-items:center;gap:.3rem;font-size:.72rem;display:flex}.gm-chess-guide-dot--legend{display:inline-block;position:static}.gm-chess-board-wrap{flex-direction:column;align-items:center;display:flex}.gm-chess-board-row{align-items:stretch;display:flex}.gm-chess-ranks{grid-template-rows:repeat(8,42px);width:18px;display:grid}.gm-chess-files-row{display:flex}.gm-chess-corner{flex-shrink:0;width:18px}.gm-chess-files{grid-template-columns:repeat(8,42px);height:18px;display:grid}.gm-chess-axis-label{color:var(--gray);justify-content:center;align-items:center;font-size:.68rem;font-weight:700;display:flex}.gm-chess-board{border:3px solid var(--navy);border-radius:8px;grid-template-rows:repeat(8,42px);grid-template-columns:repeat(8,42px);width:fit-content;display:grid;overflow:hidden}.gm-chess-square{cursor:pointer;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.gm-chess-square--light{background:#fbf3e3}.gm-chess-square--dark{background:#d9a066}.gm-chess-square--selected{box-shadow:inset 0 0 0 3px var(--orange)}.gm-chess-square--lastmove{background-color:#f7e58c}.gm-chess-square--lastmove.gm-chess-square--dark{background-color:#c9a83a}.gm-chess-piece-img{pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 1px 1px #00000059);width:80%;height:80%}.gm-chess-dot{background:#00000047;border-radius:50%;width:14px;height:14px;position:absolute}.gm-chess-captured-row{flex-wrap:wrap;align-items:center;gap:.25rem;width:100%;max-width:360px;min-height:1.6rem;display:flex}.gm-chess-captured-label{color:var(--gray);margin-right:.15rem;font-size:.75rem;font-weight:700}.gm-chess-captured-piece{width:20px;height:20px}.gm-tetris-help{color:var(--gray);text-align:center;max-width:420px;font-size:.82rem}.gm-tetris-layout{justify-content:center;align-items:flex-start;gap:1rem;display:flex}.gm-tetris-board{background:var(--navy);border:3px solid var(--navy);border-radius:8px;gap:1px;display:grid;position:relative;overflow:hidden}.gm-tetris-cell{background:#fbf3e3}.gm-tetris-cell--filled{border-radius:2px}.gm-tetris-cell--ghost{opacity:.6;background:#fbf3e3;box-shadow:inset 0 0 0 2px}.gm-tetris-cell--clearing{animation:.15s step-start 3 gm-tetris-flash}@keyframes gm-tetris-flash{0%,to{background:#fff}50%{background:var(--orange)}}.gm-tetris-overlay{background:#fdf8f2b3;position:absolute;inset:0}.gm-tetris-side{flex-direction:column;align-items:center;gap:.4rem;padding-top:.25rem;display:flex}.gm-tetris-side-label{color:var(--gray);font-size:.75rem;font-weight:700}.gm-tetris-next{background:var(--border);border:2px solid var(--border);border-radius:6px;gap:1px;width:fit-content;padding:2px;display:grid}.gm-tetris-next-cell{background:#fbf3e3;border-radius:2px}.gm-tetris-controls{justify-content:center;gap:.5rem;display:flex}.gm-tetris-highscores{border:1px solid var(--border);background:#fff;border-radius:14px;flex-direction:column;align-items:center;gap:.4rem;padding:.75rem 1.25rem;display:flex}.gm-tetris-highscore-list{color:var(--navy);flex-direction:column;gap:.2rem;margin:0;padding-left:1.2rem;font-size:.85rem;font-weight:700;display:flex}.gm-tetris-highscore-item--mine{color:var(--orange)}.gm-2048-board{background:#bbada0;border-radius:10px;grid-template-rows:repeat(4,72px);grid-template-columns:repeat(4,72px);gap:8px;width:fit-content;margin:0 auto;padding:8px;display:grid;position:relative}.gm-2048-cell{color:#5b5147;background:#eee4da66;border-radius:6px;justify-content:center;align-items:center;font-size:1.7rem;font-weight:900;display:flex}.gm-2048-cell--mid-text{font-size:1.3rem}.gm-2048-cell--small-text{font-size:1.05rem}.gm-2048-dpad{grid-template-rows:repeat(3,68px);grid-template-columns:repeat(3,68px);justify-content:center;gap:.5rem;display:grid}.gm-2048-dpad-up{grid-area:1/2}.gm-2048-dpad-left{grid-area:2/1}.gm-2048-dpad-right{grid-area:2/3}.gm-2048-dpad-down{grid-area:3/2}.gm-big-btn{border:2px solid var(--border);width:68px;height:68px;color:var(--navy);cursor:pointer;box-shadow:0 2px 0 var(--border);background:#fff;border-radius:14px;justify-content:center;align-items:center;font-size:1.8rem;transition:all .15s;display:flex}.gm-big-btn:hover:not(:disabled){border-color:var(--orange);color:var(--orange)}.gm-big-btn:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.gm-big-btn:disabled{opacity:.5;cursor:default}.gm-tower-stage{margin:2rem auto;position:relative}.gm-tower-tile{cursor:pointer;touch-action:manipulation;background:0 0;border:none;padding:0;position:absolute}.gm-tower-tile:disabled{cursor:default}.gm-tower-diamond{clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);filter:drop-shadow(0 3px 3px #00000026);background:#fff5eb;transition:filter .15s;position:absolute;inset:0}.gm-tower-tile:hover:not(:disabled) .gm-tower-diamond{filter:drop-shadow(0 3px 3px #ff8c4273)}.gm-tower-tile--start .gm-tower-diamond{background:#d7f2df}.gm-tower-tile--goal .gm-tower-diamond{background:#ffe9d6}.gm-tower-tile--selected .gm-tower-diamond{filter:drop-shadow(0 0 5px var(--orange)) drop-shadow(0 0 5px var(--orange)) drop-shadow(0 3px 3px #00000026)}.gm-tower-arm{background:var(--teal);transform-origin:0;border-radius:6px;height:10px;position:absolute;top:50%;left:50%}.gm-tower-flag{font-size:1.1rem;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.gm-tower-character{z-index:5;filter:drop-shadow(0 2px 2px #00000040);width:32px;height:32px;transition:left .35s,top .35s;position:absolute}.gm-watersort-rack{flex-wrap:wrap;justify-content:center;gap:1rem;max-width:480px;margin:.5rem auto;display:flex}.gm-watersort-tube{border:3px solid var(--border);cursor:pointer;box-sizing:border-box;background:#ffffff80;border-top:none;border-radius:0 0 16px 16px;flex-direction:column-reverse;align-items:stretch;gap:2px;width:56px;padding:4px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;box-shadow:inset 0 3px 6px #0000001f}.gm-watersort-tube--selected{border-color:var(--orange);transform:translateY(-14px);box-shadow:0 8px 14px #00000040,inset 0 3px 6px #0000001f}.gm-watersort-layer{border-radius:6px;flex-shrink:0;width:100%;height:38px;display:block}.gm-lyne-board{border:3px solid var(--border);touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;background:#fff;border-radius:8px;margin:1rem auto;position:relative}.gm-lyne-cell{border:1px solid var(--border);box-sizing:border-box;position:absolute}.gm-lyne-fill{box-sizing:border-box;pointer-events:none;position:absolute}.gm-lyne-node{box-sizing:border-box;pointer-events:none;background:#fff;border:6px solid;border-radius:50%;position:absolute}.gm-wordrules-board{border:3px solid var(--border);background:#f0ead6;border-radius:8px;margin:1rem auto;position:relative}.gm-wordrules-anchor{box-sizing:border-box;color:#fff;text-align:center;background:#5b5147;border-radius:6px;justify-content:center;align-items:center;padding:2px;font-size:.7rem;font-weight:900;display:flex;position:absolute}.gm-wordrules-wall{box-sizing:border-box;background:#6b7280;border-radius:4px;transition:opacity .2s,background .2s;position:absolute}.gm-wordrules-wall--passable{opacity:.4;background:repeating-linear-gradient(45deg,#6b7280,#6b7280 6px,#0000 6px 12px)}.gm-wordrules-goal{box-sizing:border-box;justify-content:center;align-items:center;font-size:1.6rem;display:flex;position:absolute}.gm-wordrules-prop{box-sizing:border-box;color:#fff;text-align:center;border-radius:6px;justify-content:center;align-items:center;padding:2px;font-size:.65rem;font-weight:900;display:flex;position:absolute;box-shadow:0 2px #00000040}.gm-wordrules-prop--chan{background:#e63946}.gm-wordrules-prop--xuyen{background:#2a9d8f}.gm-wordrules-player{box-sizing:border-box;z-index:5;justify-content:center;align-items:center;font-size:1.8rem;transition:left .12s,top .12s;display:flex;position:absolute}
