@font-face{font-family:Clear Sans;src:url(https://cdn.jsdelivr.net/gh/nicehash/css-clear-sans@master/fonts/clear-sans-bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Clear Sans;src:url(https://cdn.jsdelivr.net/gh/nicehash/css-clear-sans@master/fonts/clear-sans-regular.woff2) format("woff2");font-weight:400;font-display:swap}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #faf8ef}html,body,#root{height:100%;height:100dvh}body{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg);color:#776e65;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden}.mode-select{display:flex;flex-direction:column;align-items:center;justify-content:safe center;height:100%;padding:20px 24px;gap:12px;overflow-y:auto;-webkit-overflow-scrolling:touch}.mode-title{font-size:clamp(2rem,8vw,3.5rem);font-weight:900;color:#776e65}.mode-subtitle{font-size:clamp(.9rem,3vw,1.2rem);color:#a09080;margin-bottom:10px}.mode-lang-switch{display:flex;gap:8px;margin-top:12px}.mode-lang-btn{padding:6px 16px;border:2px solid #ddd;border-radius:10px;background:#fff;font-size:.85rem;font-weight:700;color:#888;cursor:pointer;font-family:inherit;transition:all .15s}.mode-lang-btn.active{border-color:#8f7a66;background:#f5f0eb;color:#776e65}.mode-lang-btn:hover{background:#f5f5f5}.mode-cards{display:flex;flex-direction:column;gap:10px;width:100%;max-width:400px}.mode-card-wrap{border-radius:16px;position:relative;z-index:1}.mode-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:3px solid;border-radius:16px;cursor:pointer;font-family:inherit;transition:transform .1s,box-shadow .15s;text-align:left;width:100%}.mode-card:hover{transform:scale(1.01);box-shadow:0 4px 16px #0000001a}.mode-card:active{transform:scale(.98)}.mode-emoji{font-size:1.6rem;flex-shrink:0}.mode-info{flex:1;min-width:0}.mode-name{font-size:1.05rem;font-weight:800;display:block}.mode-sub{font-size:.7rem;font-weight:600;color:#aaa;display:block;margin-top:-1px}.mode-desc{font-size:.72rem;color:#888;display:block}.mode-chevron{font-size:1rem;color:#aaa;flex-shrink:0}.mode-settings{background:#fff;border:2px solid #e0d6cc;border-top:none;border-radius:0 0 16px 16px;padding:12px 16px 14px;display:flex;flex-direction:column;gap:10px;animation:fade-in .2s ease-out}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.85rem;font-weight:600;color:#666}.setting-label{font-size:.8rem;font-weight:700;color:#888;margin-bottom:4px}.toggle{position:relative;width:44px;height:24px;border-radius:12px;border:none;background:#ccc;cursor:pointer;transition:background .2s;padding:0}.toggle.on{background:#4caf50}.toggle-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.toggle.on .toggle-knob{transform:translate(20px)}.slider-group{display:flex;align-items:center;gap:8px}.slider-group input[type=range]{width:100px;accent-color:#8f7a66}.slider-val{font-size:.9rem;font-weight:800;color:#776e65;min-width:28px;text-align:center}.level-btns{display:flex;gap:8px}.level-btn{flex:1;padding:10px 8px;border:2px solid #ddd;border-radius:12px;background:#fafafa;cursor:pointer;font-family:inherit;text-align:center;transition:border-color .15s,background .15s}.level-btn strong{display:block;font-size:.85rem;color:#555}.level-btn span{display:block;font-size:.65rem;color:#999;margin-top:2px}.level-btn.active{border-color:#1565c0;background:#e3f2fd}.level-btn.active strong{color:#1565c0}.btn-play{background:#8f7a66;color:#f9f6f2;border:none;padding:10px 20px;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s;margin-top:4px}.btn-play:hover{background:#9f8b77}.btn-play:active{background:#7a6658}.btn-new{background:#8f7a66;color:#f9f6f2;border:none;padding:6px 12px;border-radius:8px;font-size:.75rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s;font-family:inherit}.btn-new:hover{background:#9f8b77}.btn-new:active{background:#7a6658}.btn-new.large{padding:14px 32px;font-size:1rem;border-radius:10px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#faf8efb8;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fade-in .3s ease-out}.dark .overlay{background:#141428cc}.dark .overlay-box{background:#2d2542;color:#e0d6cc}.dark .overlay-box h2{color:#e0d6cc}.dark .overlay-box p{color:#a090c0}.dark .overlay-box strong{color:#e0d6cc}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.overlay-box{text-align:center;background:#fff;padding:28px 40px;border-radius:20px;box-shadow:0 10px 40px #00000024}.overlay-box h2{font-size:2rem;font-weight:900;margin-bottom:8px;color:#776e65}.overlay-box p{font-size:1.1rem;margin-bottom:18px;color:#8f7a66}.overlay-box strong{color:#776e65;font-weight:900}.go-btns{display:flex;gap:10px;justify-content:center}.quiz-container{width:100%;min-height:100%;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:8px 12px;box-sizing:border-box;gap:6px;background:#faf8ef;position:relative;overflow:hidden;transition:background .3s,color .3s}.quiz-container.dark{background:#1a1a2e;color:#e0e0e0}.q-topbar{width:100%;max-width:420px;display:flex;align-items:center;gap:4px}.q-title{font-size:clamp(1.8rem,7vw,2.8rem);font-weight:900;color:#776e65;flex:1;text-align:center;line-height:1;margin:0}.dark .q-title{color:#e0d6cc}.q-topbar-right{display:flex;gap:2px;align-items:center}.q-title-responsive{font-size:clamp(1rem,4vw,1.4rem)}.q-title-pc{display:none}.q-title-mobile{display:inline}@media (min-width: 768px){.q-title-pc{display:inline}.q-title-mobile{display:none}.q-title-responsive{font-size:clamp(.9rem,2vw,1.2rem)}}.q-icon-btn{width:36px;height:36px;border:none;border-radius:8px;background:transparent;font-size:1.15rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,transform .08s;flex-shrink:0;font-family:inherit}.q-icon-btn:hover{background:#0000000f}.q-icon-btn:active{transform:scale(.9)}.dark .q-icon-btn:hover{background:#ffffff1a}.q-scores{width:100%;max-width:420px;display:flex;flex-direction:column;gap:4px}.q-score-row{display:flex;gap:6px}.q-score-box{flex:1;display:flex;align-items:center;justify-content:space-between;background:#bbada0;color:#fff;padding:4px 14px;border-radius:6px;min-height:32px}.q-score-box.best{background:#cdc1b4}.dark .q-score-box{background:#3d3552}.dark .q-score-box.best{background:#2d2542}.q-score-label{font-size:.6rem;font-weight:700;letter-spacing:.08em;color:#eee4da;text-transform:uppercase}.dark .q-score-label{color:#a090c0}.q-score-val{font-size:1.1rem;font-weight:800;line-height:1.2}.q-boost-row{display:flex;align-items:center;gap:8px;padding:2px 0}.q-boost-label{font-size:.6rem;font-weight:700;letter-spacing:.08em;color:#a09080;text-transform:uppercase}.dark .q-boost-label{color:#a090c0}.q-boost-bar{width:100%;max-width:420px;display:flex;align-items:center;gap:8px;padding:4px 0;transition:transform .2s}.q-boost-bar.on-fire{animation:boost-glow .8s ease-in-out infinite alternate}.q-boost-bar.milestone{animation:boost-mega-flash .3s ease-in-out 6 alternate}@keyframes boost-glow{0%{filter:brightness(1)}to{filter:brightness(1.3) drop-shadow(0 0 8px rgba(255,152,0,.6))}}@keyframes boost-mega-flash{0%{filter:brightness(1);transform:scale(1)}to{filter:brightness(1.8) drop-shadow(0 0 16px rgba(255,87,34,.9));transform:scale(1.08)}}.streak-counter{font-size:.85rem;font-weight:900;color:#ff5722;min-width:24px;text-align:center}.streak-counter.milestone-flash,.bonus-label.milestone-flash{animation:milestone-pulse .3s ease-in-out 6 alternate}@keyframes milestone-pulse{0%{transform:scale(1);opacity:.7}to{transform:scale(1.5);opacity:1}}.quiz-wrong-calc{font-size:clamp(.7rem,3vw,1rem);font-weight:700;color:#e53935;text-align:center;line-height:1.2;animation:wrong-calc-pop .5s ease-out}@keyframes wrong-calc-pop{0%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.q-icon-btn svg{display:block}.dark .q-icon-btn{color:#e0d6cc}.dark .q-icon-btn svg{stroke:#e0d6cc}.q-hearts{display:flex;justify-content:center;gap:4px;padding:2px 0}.qheart-big{font-size:1.8rem;transition:transform .3s,opacity .3s}.qheart-big.lost{opacity:.2;transform:scale(.6)}.qbar-streak{display:flex;gap:2px;height:10px;width:55px;flex-shrink:0}.streak-seg{flex:1;background:#cfd8dc;border-radius:2px;transition:background .3s,box-shadow .3s}.streak-seg.filled{background:#ffb74d}.qbar-streak.on-fire .streak-seg.filled{background:linear-gradient(180deg,#ff5722,#ff9800,#ffeb3b);animation:fire-seg .4s ease-in-out infinite alternate}@keyframes fire-seg{0%{box-shadow:0 0 4px #ff572266}to{box-shadow:0 0 12px #ff9800cc}}.bonus-label{font-size:.7rem;font-weight:800;color:#ff5722;white-space:nowrap;animation:fire-text-pulse .6s ease-in-out infinite alternate}@keyframes fire-text-pulse{0%{opacity:.7;transform:scale(1)}to{opacity:1;transform:scale(1.15)}}.falling-heart{position:fixed;font-size:1.6rem;z-index:300;pointer-events:none;transform:translate(-50%);animation:heart-fall 1.4s ease-in forwards}@keyframes heart-fall{0%{transform:translate(-50%) translateY(0) rotate(0) scale(1);opacity:1}30%{transform:translate(-50%) translateY(40px) rotate(-20deg) scale(1.1);opacity:.9}to{transform:translate(-50%) translateY(100vh) rotate(-90deg) scale(.5);opacity:0}}.quiz-timer{width:100%;max-width:420px;height:5px;background:#cfd8dc;border-radius:3px;overflow:hidden;flex-shrink:0}.timer-bar{height:100%;background:linear-gradient(90deg,#43a047,#66bb6a);border-radius:3px;transition:width 60ms linear}.timer-bar.timer-hidden{width:0!important;background:transparent}.dark .quiz-timer{background:#3d3552}.dark .timer-bar{background:linear-gradient(90deg,#4caf50,#81c784)}.quiz-timer.urgent .timer-bar{background:linear-gradient(90deg,#e53935,#ff7043);animation:timer-pulse .4s ease-in-out infinite alternate}@keyframes timer-pulse{0%{opacity:.7}to{opacity:1}}:root{--qcell: min(28vw, 17vh, 140px)}.quiz-board-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;touch-action:none;-webkit-user-select:none;user-select:none;position:relative}.quiz-board{display:grid;grid-template-areas:".    up    ." "left center right" ".    down  .";grid-template-columns:var(--qcell) var(--qcell) var(--qcell);grid-template-rows:var(--qcell) var(--qcell) var(--qcell);gap:0;filter:drop-shadow(0 4px 12px rgba(0,0,0,.1));transition:filter .3s}.quiz-board.board-paused{filter:blur(8px) drop-shadow(0 4px 12px rgba(0,0,0,.1));pointer-events:none}.quiz-board.board-countdown{filter:blur(3px) drop-shadow(0 4px 12px rgba(0,0,0,.1));pointer-events:none}.quiz-cell,.quiz-center{display:flex;align-items:center;justify-content:center;background:#eee4da;border:3.5px solid #bbada0;position:relative;overflow:hidden;transition:background .15s}.dark .quiz-cell,.dark .quiz-center{background:#3d3552;border-color:#5a4e6e}.quiz-cell.up{grid-area:up;border-radius:18px 18px 0 0;border-bottom:2px solid #cdc1b4}.quiz-cell.down{grid-area:down;border-radius:0 0 18px 18px;border-top:2px solid #cdc1b4}.quiz-cell.left{grid-area:left;border-radius:18px 0 0 18px;border-right:2px solid #cdc1b4}.quiz-cell.right{grid-area:right;border-radius:0 18px 18px 0;border-left:2px solid #cdc1b4}.dark .quiz-cell.up{border-bottom-color:#4a4060}.dark .quiz-cell.down{border-top-color:#4a4060}.dark .quiz-cell.left{border-right-color:#4a4060}.dark .quiz-cell.right{border-left-color:#4a4060}.quiz-center{grid-area:center;border-radius:0;background:#cdc1b4;z-index:2}.dark .quiz-center{background:#2d2542}.quiz-cell{cursor:pointer}.quiz-cell:hover{background:#e0d4c8}.quiz-cell:active{background:#d5c8bb}.dark .quiz-cell:hover{background:#4a4060}.dark .quiz-cell:active{background:#554870}.quiz-legend{margin-top:8px;font-size:.72rem;color:#a09080;text-align:center;line-height:1.4}.dark .quiz-legend{color:#8070a0}.q-mode-bottom{font-size:.75rem;font-weight:600;color:#a09080;text-align:center;padding:4px 0 8px;flex-shrink:0}.dark .q-mode-bottom{color:#8070a0}.quiz-ans{font-size:clamp(1.4rem,6vw,2.4rem);font-weight:800;line-height:1}.quiz-q{display:flex;align-items:baseline;gap:2px}.quiz-factor{font-size:clamp(1.6rem,7vw,2.8rem);font-weight:900;line-height:1}.quiz-op{font-size:clamp(1.1rem,4vw,1.6rem);font-weight:700;color:#a09080;margin:0 2px}.dark .quiz-op{color:#a090c0}.quiz-cell.cell-correct{background:#a5d6a7!important;animation:cell-pop .5s ease-out}@keyframes cell-pop{0%{transform:scale(1)}30%{transform:scale(1.08)}to{transform:scale(1)}}.quiz-cell.cell-wrong{background:#ef9a9a!important;animation:cell-flash-red .4s ease-out}@keyframes cell-flash-red{0%{background:#ef5350}to{background:#ef9a9a}}.quiz-boom{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:20px;background:radial-gradient(circle,rgba(255,215,0,.8) 0%,rgba(255,165,0,.3) 50%,transparent 70%);animation:quiz-boom .5s ease-out forwards;pointer-events:none;z-index:5}@keyframes quiz-boom{0%{transform:scale(.4);opacity:1}50%{transform:scale(1.2);opacity:.9}to{transform:scale(1.5);opacity:0}}.quiz-center.merge-up{--mx: 0px;--my: calc(-1 * var(--qcell))}.quiz-center.merge-down{--mx: 0px;--my: var(--qcell)}.quiz-center.merge-left{--mx: calc(-1 * var(--qcell));--my: 0px}.quiz-center.merge-right{--mx: var(--qcell);--my: 0px}.quiz-center.merge-up,.quiz-center.merge-down,.quiz-center.merge-left,.quiz-center.merge-right{animation:qmerge .22s cubic-bezier(.4,0,.2,1) forwards}@keyframes qmerge{0%{transform:translate(0) scale(1);opacity:1}75%{transform:translate(var(--mx),var(--my)) scale(1.05);opacity:1}to{transform:translate(var(--mx),var(--my)) scale(.9);opacity:0}}.quiz-center.buzz-up{--bx: 0px;--by: -18px}.quiz-center.buzz-down{--bx: 0px;--by: 18px}.quiz-center.buzz-left{--bx: -18px;--by: 0px}.quiz-center.buzz-right{--bx: 18px;--by: 0px}.quiz-center.buzz-timeout{--bx: 0px;--by: 0px}.quiz-center.buzz-up,.quiz-center.buzz-down,.quiz-center.buzz-left,.quiz-center.buzz-right{animation:qbuzz .4s ease-out}.quiz-center.buzz-timeout{animation:qshake .35s ease-out}@keyframes qbuzz{0%{transform:translate(0)}12%{transform:translate(var(--bx),var(--by))}22%{transform:translate(calc(var(--bx) + 4px),calc(var(--by) + 2px))}32%{transform:translate(calc(var(--bx) - 4px),calc(var(--by) - 2px))}50%{transform:translate(calc(var(--bx) * .3),calc(var(--by) * .3))}to{transform:translate(0)}}@keyframes qshake{0%,to{transform:translate(0)}15%{transform:translate(-7px)}30%{transform:translate(7px)}45%{transform:translate(-4px)}60%{transform:translate(4px)}}.settings-note{font-size:.8rem;color:#78909c;margin:6px 0 12px}.quiz-won-overlay{background:#00000080}.confetti-rain{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:200}.confetti-piece{position:absolute;top:-20px;border-radius:2px;animation:confetti-fall linear forwards}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0) scale(1);opacity:1}80%{opacity:1}to{transform:translateY(105vh) rotate(720deg) scale(.6);opacity:0}}.mode-card.quiz-card{border-width:3px}.tuto-overlay{z-index:110}.tuto-box{max-width:380px;max-height:90vh;overflow-y:auto;padding:24px 28px;text-align:left}.tuto-box h2{text-align:center;font-size:1.5rem;margin-bottom:12px;color:#37474f}.tuto-content{font-size:.88rem;line-height:1.6;color:#546e7a;margin-bottom:16px}.tuto-content p{margin-bottom:8px}.tuto-content strong{color:#37474f}.tuto-rules{background:#f1f5f8;border-radius:12px;padding:10px 14px;margin-top:8px}.tuto-rules p{margin-bottom:4px}.tuto-box .btn-play{display:block;width:100%;font-size:1.1rem;padding:14px;border-radius:14px;background:#8f7a66;color:#fff;border:none;font-weight:800;cursor:pointer;letter-spacing:.02em}.tuto-box .btn-play:hover{background:#9f8b77}.tuto-box .btn-play:active{background:#7a6658}.dark .tuto-box{background:#2d2542}.dark .tuto-box h2{color:#e0d6cc}.dark .tuto-content{color:#a090c0}.dark .tuto-content strong{color:#e0d6cc}.dark .tuto-rules{background:#3d3552}.quiz-countdown-num{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:15;font-size:2rem;font-weight:900;color:#fffffff2;background:#00000073;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:countdown-pop .8s ease-out;text-shadow:0 1px 6px rgba(0,0,0,.3);pointer-events:none}.dark .quiz-countdown-num{background:#fff3}@keyframes countdown-pop{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}40%{transform:translate(-50%,-50%) scale(1.2);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.btn-pause{margin-top:10px;background:#fff;border:1.5px solid #b0bec5;border-radius:10px;padding:6px 18px;font-size:.82rem;font-weight:700;color:#546e7a;cursor:pointer;transition:background .15s,color .15s,border-color .15s;font-family:inherit;min-width:120px;display:flex;align-items:center;justify-content:center;gap:6px}.btn-pause:hover{background:#eceff1}.btn-pause:active{background:#cfd8dc}.btn-pause.is-paused{background:#8f7a66;color:#fff;border-color:#8f7a66}.btn-pause.is-paused:hover{background:#9f8b77}.dark .btn-pause{background:#2d2542;border-color:#5a4e6e;color:#c0b0e0}.dark .btn-pause.is-paused{background:#5a4e6e;color:#fff;border-color:#5a4e6e}.btn-hamburger{width:34px;height:34px;border:none;border-radius:8px;background:transparent;font-size:1.4rem;cursor:pointer;flex-shrink:0;opacity:.7;transition:opacity .2s;color:#546e7a;display:flex;align-items:center;justify-content:center;font-family:inherit}.btn-hamburger:hover{opacity:1}.record-badge .badge-val{font-size:.78rem}.record-sub{font-size:.62rem;color:#90a4ae;font-weight:600}.settings-panel{max-width:360px;width:90vw;min-height:420px;max-height:85vh;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:20px 24px}.settings-panel h3{margin:0 0 4px;font-size:1.1rem;color:#37474f}.settings-panel .setting-label{font-size:.78rem;font-weight:700;color:#78909c;margin-bottom:2px;margin-top:6px}.settings-panel .level-btns{gap:6px}.settings-panel .level-btn{padding:8px 6px;border-radius:10px}.settings-panel .level-btn.active.review{border-color:#e65100;background:#fff3e0}.settings-panel .level-btn.active.review strong{color:#e65100}.settings-panel .level-btn.active.progressive{border-color:#1565c0;background:#e3f2fd}.settings-panel .level-btn.active.progressive strong{color:#1565c0}.settings-panel .btn-play{margin-top:8px;background:#1565c0;color:#fff}.settings-panel .btn-play:hover{background:#1976d2}.settings-panel .setting-row{margin:0}.settings-panel .slider-group input[type=range]{width:90px}.dark .settings-panel{background:#2d2542}.dark .settings-panel h3{color:#e0d6cc}.dark .settings-panel .setting-label{color:#a090c0}.dark .settings-panel .setting-row span{color:#c0b0e0}.dark .settings-panel .level-btn{background:#3d3552;border-color:#5a4e6e}.dark .settings-panel .level-btn strong{color:#c0b0e0}.dark .settings-panel .level-btn span{color:#8070a0}.dark .settings-panel .level-btn.active{background:#4a4060}.dark .settings-panel .slider-val{color:#e0d6cc}:root{--ns-u: clamp(6px, 1.8vh, 16px)}.ns-container{width:100%;height:100%;height:100dvh;display:flex;flex-direction:column;align-items:center;padding:8px 12px;box-sizing:border-box;gap:4px;background:#faf8ef;position:relative;overflow:hidden;transition:background .3s,color .3s}.ns-container.dark{background:#1a1a2e;color:#e0e0e0}.ns-tuto-box{max-width:420px;max-height:92vh;overflow-y:auto}.ns-tuto-settings{margin-top:10px;display:flex;flex-direction:column;gap:4px}.ns-child-btn.active{border-color:#43a047!important;background:#e8f5e9!important}.ns-child-btn.active strong{color:#2e7d32!important}.ns-adult-btn.active{border-color:#e65100!important;background:#fff3e0!important}.ns-adult-btn.active strong{color:#e65100!important}.ns-numcfg{background:#f5f0eb;border:1.5px solid #e0d6cc;border-radius:10px;padding:8px 10px;margin-top:4px}.dark .ns-numcfg{background:#3d3552;border-color:#5a4e6e}.ns-numcfg-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.ns-numcfg-label{font-size:.78rem;font-weight:700;color:#776e65}.dark .ns-numcfg-label{color:#c0b0e0}.ns-numcfg-btns{gap:4px!important}.ns-numcfg-btn{padding:4px 8px!important;border-radius:8px!important}.ns-numcfg-btn strong{font-size:.7rem!important}.ns-minmax-row{display:flex;flex-direction:column;gap:2px}.ns-numcfg .setting-row{margin:0}.ns-numcfg .slider-group input[type=range]{width:80px}.ns-settings-panel{max-height:88vh;overflow-y:auto}.ns-game-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:space-between;width:100%;max-width:440px;gap:8px;position:relative;padding:4px 0;min-height:0}.ns-target-area{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:100%;animation:ns-slide-down .3s ease-out}@keyframes ns-slide-down{0%{transform:translateY(-14px);opacity:.4}to{transform:translateY(0);opacity:1}}.ns-anticipation-col{display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:2px}.ns-future-target{width:34px;height:34px;border-radius:50%;background:#eee4da;border:2px solid #cdc1b4;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;color:#a09080;opacity:.4}.dark .ns-future-target{background:#3d3552;border-color:#5a4e6e;color:#8070a0}.ns-next-target{width:42px;height:42px;border-radius:50%;background:#eee4da;border:2.5px solid #cdc1b4;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800;color:#8f7a66;opacity:.6}.dark .ns-next-target{background:#3d3552;border-color:#5a4e6e;color:#a090c0}.ns-target-row{width:100%;display:flex;justify-content:center;align-items:center;margin-top:2px;position:relative}.ns-target-spacer{display:none}.ns-target-circle{width:72px;height:72px;border-radius:50%;background:#fff;border:4px solid #bbada0;display:flex;align-items:center;justify-content:center;font-size:clamp(1.5rem,5.5vw,2.2rem);font-weight:900;color:#776e65;box-shadow:0 4px 14px #0000001a;transition:border-color .2s,box-shadow .2s;flex-shrink:0;position:relative;z-index:1}.ns-target-row .ns-preview{position:absolute;left:calc(50% + 46px);top:50%;transform:translateY(-50%)}.dark .ns-target-circle{background:#2d2542;border-color:#5a4e6e;color:#e0d6cc;box-shadow:0 4px 14px #0000004d}.ns-target-circle.ns-correct-glow{animation:ns-glow .5s ease-out;border-color:#43a047}.ns-target-circle.ns-wrong-buzz{animation:ns-buzz .45s ease-out;border-color:#e53935}@keyframes ns-glow{0%{box-shadow:0 0 #4caf50b3}40%{box-shadow:0 0 22px 8px #4caf5080}to{box-shadow:0 4px 14px #0000001a}}@keyframes ns-buzz{0%,to{transform:translate(0)}12%{transform:translate(-7px)}24%{transform:translate(7px)}36%{transform:translate(-5px)}48%{transform:translate(5px)}60%{transform:translate(-2px)}72%{transform:translate(2px)}}.ns-preview{display:flex;align-items:flex-end;gap:2px;min-height:20px;transition:transform .3s,opacity .3s}.ns-preview-fall{animation:ns-prev-drop .45s cubic-bezier(.55,0,1,.45) forwards}@keyframes ns-prev-drop{0%{opacity:1;transform:translateY(0) scale(1)}70%{opacity:.7;transform:translateY(60px) scale(.7)}to{opacity:0;transform:translateY(100px) scale(.4)}}.ns-prev-ten{width:6px;height:40px;background:linear-gradient(145deg,#42a5f5,#1e88e5);border-radius:2px;box-shadow:inset -1px -1px #0000001a}.ns-prev-u-stack{display:flex;flex-direction:column-reverse;gap:1px;align-items:center;align-self:flex-end}.ns-prev-unit{width:6px;height:6px;background:linear-gradient(145deg,#66bb6a,#43a047);border-radius:1px;box-shadow:inset -1px -1px #0000001a}.ns-float-text{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);font-size:1.5rem;font-weight:900;color:#43a047;pointer-events:none;z-index:50;animation:ns-float-up 1.3s ease-out forwards;text-shadow:0 1px 4px rgba(0,0,0,.12)}.ns-float-text.ns-float-neg{color:#e53935}@keyframes ns-float-up{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}15%{opacity:1;transform:translate(-50%,-60%) scale(1.3)}50%{opacity:1;transform:translate(-50%,-80%) scale(1)}to{opacity:0;transform:translate(-50%,-130%) scale(.7)}}.ns-box{--box-h: clamp(100px, 22vh, 180px);--box-w: calc(var(--ns-u) * 20 + 84px);width:var(--box-w);max-width:100%;height:var(--box-h);min-height:80px;padding:8px 10px;background:#f0ebe4;border:2.5px solid #d4c8bc;border-radius:14px;display:flex;align-items:stretch;justify-content:flex-end;gap:6px;position:relative;overflow:hidden;transition:background .3s,border-color .3s;flex-shrink:0;box-sizing:border-box}.dark .ns-box{background:#2a2240;border-color:#4a4060}.ns-empty-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:600;color:#b0a090;text-align:center;padding:12px}.dark .ns-empty-label{color:#6a5e7e}.ns-zone{display:flex;align-items:flex-end;flex-shrink:0;position:relative;transition:transform .3s,filter .3s}.ns-zone-h{align-items:flex-end}.ns-h-flat{--hf-cell: var(--ns-u);--hf-gap: 1px;width:calc(var(--hf-cell) * 10 + var(--hf-gap) * 9);height:calc(var(--hf-cell) * 10 + var(--hf-gap) * 9);background:repeating-linear-gradient(90deg,rgba(0,0,0,.1) 0 var(--hf-gap),transparent var(--hf-gap) calc(var(--hf-cell) + var(--hf-gap))),repeating-linear-gradient(0deg,rgba(0,0,0,.1) 0 var(--hf-gap),transparent var(--hf-gap) calc(var(--hf-cell) + var(--hf-gap))),linear-gradient(145deg,#ffee58,#fdd835);border-radius:calc(var(--ns-u) * .4);box-shadow:inset -2px -2px #00000014,1px 1px 3px #0000000f;animation:ns-block-pop .28s cubic-bezier(.18,.89,.32,1.28);position:relative}.ns-h-label{position:absolute;bottom:4px;right:6px;font-size:1rem;font-weight:900;color:#f0ebeb;background:#1e14328c;padding:1px 5px;border-radius:4px;line-height:1.3}.ns-zone-t{gap:2px;align-items:flex-end}.ns-t-rod{width:calc(var(--ns-u) + 2px);display:flex;flex-direction:column;gap:1px;animation:ns-block-pop .28s cubic-bezier(.18,.89,.32,1.28)}.ns-t-seg{width:100%;height:var(--ns-u);background:linear-gradient(145deg,#42a5f5,#1e88e5);border-radius:1.5px;box-shadow:inset -1px -1px #0000001a}.ns-t-rod .ns-t-seg:first-child{border-radius:3px 3px 1.5px 1.5px}.ns-t-rod .ns-t-seg:last-child{border-radius:1.5px 1.5px 3px 3px}.ns-zone-u{min-width:calc(var(--ns-u) + 4px)}.ns-u-stack{display:flex;flex-direction:column-reverse;gap:1px;align-items:center}.ns-u-cube{width:var(--ns-u);height:var(--ns-u);background:linear-gradient(145deg,#66bb6a,#43a047);border-radius:2px;box-shadow:inset -1px -1px #0000001f,1px 1px 2px #0000001a;animation:ns-block-pop .28s cubic-bezier(.18,.89,.32,1.28)}@keyframes ns-block-pop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}.ns-merge-flash{animation:ns-merge .65s ease-out}@keyframes ns-merge{0%{filter:brightness(1);transform:scale(1)}25%{filter:brightness(1.6) drop-shadow(0 0 10px rgba(255,215,0,.9));transform:scale(1.12)}60%{filter:brightness(1.2);transform:scale(1.03)}to{filter:brightness(1);transform:scale(1)}}.ns-exploding{animation:ns-box-flash .35s ease-out}@keyframes ns-box-flash{0%{background:#f0ebe4;border-color:#d4c8bc}25%{background:#ffcdd2;border-color:#ef5350}to{background:#f0ebe4;border-color:#d4c8bc}}.dark .ns-exploding{animation:ns-box-flash-dark .35s ease-out}@keyframes ns-box-flash-dark{0%{background:#2a2240;border-color:#4a4060}25%{background:#4a2030;border-color:#ef5350}to{background:#2a2240;border-color:#4a4060}}.ns-fragment{position:absolute;pointer-events:none;z-index:30;animation:ns-frag-fly .85s ease-out forwards}.ns-frag-unit{width:var(--ns-u);height:var(--ns-u);background:linear-gradient(145deg,#66bb6a,#43a047);border-radius:2px}.ns-frag-ten{width:var(--ns-u);height:calc(var(--ns-u) * 4);background:linear-gradient(145deg,#42a5f5,#1e88e5);border-radius:2px}.ns-frag-hundred{width:calc(var(--ns-u) * 4);height:calc(var(--ns-u) * 4);background:linear-gradient(145deg,#ffee58,#fdd835);border-radius:3px}@keyframes ns-frag-fly{0%{opacity:1;transform:translate(0) rotate(0) scale(1)}to{opacity:0;transform:translate(var(--fdx),var(--fdy)) rotate(var(--frot)) scale(.2)}}.ns-buzz-red{animation:ns-red-buzz .5s ease-out}@keyframes ns-red-buzz{0%{border-color:#d4c8bc}20%{border-color:#e53935;background:#ffebee}to{border-color:#d4c8bc}}.ns-controls{flex-shrink:0;width:100%;max-width:440px;box-sizing:border-box;padding:4px 10px}.ns-ctrl-vcol{display:flex;flex-direction:column;align-items:center;gap:3px}.ns-ctrl-b-col{gap:2px}.ns-ctrl-hrow{display:flex;flex-direction:row;align-items:center;gap:3px}.ns-num-wrap{position:relative;display:flex;flex-direction:row;align-items:center;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;transition:transform .05s linear}.ns-num-wrap:active{cursor:grabbing}.ns-num-wrap-v{position:relative;display:flex;flex-direction:column;align-items:center;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;transition:transform .05s linear}.ns-num-wrap-v:active{cursor:grabbing}.ns-line-v{width:2px;height:10px;background:#cdc1b4}.dark .ns-line-v{background:#5a4e6e}.ns-line-h{width:10px;height:2px;background:#cdc1b4}.dark .ns-line-h{background:#5a4e6e}.ns-eq{font-size:1.1rem;font-weight:800;color:#a09080;display:flex;align-items:flex-end;justify-content:center;height:43px}.dark .ns-eq{color:#6a5e7e}.ns-arrow{color:#cdc1b4;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dark .ns-arrow{color:#5a4e6e}.ns-ctrl-mobile{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:4px}.ns-ctrl-mobile .ns-number-circle{width:68px;height:68px;font-size:1.7rem;border-width:3.5px}.ns-ctrl-mobile .ns-num-b{width:62px;height:62px;font-size:1.6rem}.ns-ctrl-mobile .ns-op-btn{width:56px;height:44px;font-size:1.4rem;border-radius:12px}.ns-ctrl-mobile .ns-line-v{height:8px}.ns-ctrl-mobile .ns-eq-mobile{font-size:1.3rem;font-weight:800;color:#a09080;display:flex;align-items:center;justify-content:center}.dark .ns-ctrl-mobile .ns-eq-mobile{color:#6a5e7e}.ns-ctrl-b-col-mobile{display:flex;flex-direction:column;align-items:center;gap:2px;justify-content:center}.ns-ctrl-pc{display:flex;flex-direction:row;align-items:flex-start;gap:12px}.ns-ctrl-pc-left-wrap{flex:1;display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;gap:12px}.ns-ctrl-pc-left-wrap>.ns-arrow-h{margin-top:64px;flex:1}.ns-ctrl-pc-center{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:6px}.ns-ctrl-pc-right-spacer{flex:1}.ns-number-circle{width:54px;height:54px;border-radius:50%;border:3px solid #bbada0;background:#eee4da;display:flex;align-items:center;justify-content:center;font-size:clamp(1.2rem,4.5vw,1.6rem);font-weight:800;color:#776e65;flex-shrink:0;box-shadow:0 2px 8px #00000014;position:relative;z-index:2;-webkit-user-select:none;user-select:none}.dark .ns-number-circle{background:#3d3552;border-color:#5a4e6e;color:#e0d6cc}.ns-num-a{background:#dbe8f8;border-color:#5b9bd5;color:#2c5f99}.dark .ns-num-a{background:#2a3a5a;border-color:#5b9bd5;color:#a0c4f0}.ns-num-b{width:50px;height:50px;background:#cdc1b4;border-color:#bbada0;color:#fff;font-size:clamp(1.2rem,5vw,1.7rem)}.dark .ns-num-b{background:#4a4060;border-color:#6a5e7e;color:#e0d6cc}.ns-num-c{background:#fde8d0;border-color:#e8a040;color:#a06020}.dark .ns-num-c{background:#4a3a20;border-color:#e8a040;color:#f0c890}.ns-op-btn{width:44px;height:36px;border:2.5px solid #cdc1b4;border-radius:10px;background:#f5f0eb;font-size:1.2rem;font-weight:800;color:#776e65;cursor:pointer;font-family:inherit;transition:all .12s;display:flex;align-items:center;justify-content:center;touch-action:manipulation}.ns-op-btn:hover:not(:disabled){background:#eee4da;transform:scale(1.08);border-color:#bbada0;box-shadow:0 2px 10px #0000001f}.ns-op-btn:active:not(:disabled){transform:scale(.9);background:#d5c8bb}.ns-op-btn:disabled{cursor:default}.dark .ns-op-btn{background:#3d3552;border-color:#5a4e6e;color:#e0d6cc}.dark .ns-op-btn:hover:not(:disabled){background:#4a4060;border-color:#7a6e9e}.ns-chosen-correct{background:#a5d6a7!important;border-color:#43a047!important;animation:ns-btn-pop .4s ease-out}@keyframes ns-btn-pop{0%{transform:scale(1)}30%{transform:scale(1.18)}to{transform:scale(1)}}.ns-chosen-wrong{background:#ef9a9a!important;border-color:#e53935!important;animation:ns-btn-shake .35s ease-out}@keyframes ns-btn-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.ns-flash-correct{animation:ns-flash-hint .9s ease-in-out}@keyframes ns-flash-hint{0%{background:#f5f0eb;border-color:#cdc1b4}15%{background:#c8e6c9;border-color:#43a047;box-shadow:0 0 12px #4caf5080}40%{background:#a5d6a7;border-color:#2e7d32;box-shadow:0 0 20px #4caf5099}70%{background:#c8e6c9;border-color:#43a047;box-shadow:0 0 8px #4caf504d}to{background:#f5f0eb;border-color:#cdc1b4;box-shadow:none}}.ns-keys-hint{display:flex;align-items:center;justify-content:center;gap:10px;opacity:.45;font-size:.6rem;font-weight:600;color:#a09080;flex-shrink:0;margin-top:2px}.dark .ns-keys-hint{color:#6a5e7e}.ns-kh{display:inline-flex;align-items:center;gap:2px}.ns-kh-key{display:inline-flex;align-items:center;justify-content:center;width:16px;height:15px;background:#eee4da;border:1px solid #cdc1b4;border-radius:3px;font-weight:800;font-size:.55rem;color:#776e65}.dark .ns-kh-key{background:#3d3552;border-color:#5a4e6e;color:#c0b0e0}@media (max-height: 600px){:root{--ns-u: 6px}.ns-game-area{gap:4px;padding:2px 0}.ns-target-circle{width:54px;height:54px;font-size:1.3rem}.ns-target-row .ns-preview{left:calc(50% + 35px)}.ns-future-target{width:24px;height:24px;font-size:.65rem}.ns-next-target{width:30px;height:30px;font-size:.8rem}.ns-box{--box-h: 80px;min-height:60px;padding:6px}.ns-number-circle{width:42px;height:42px;font-size:1rem}.ns-num-b{width:38px;height:38px;font-size:1rem}.ns-op-btn{width:36px;height:28px;font-size:.95rem}.ns-controls{padding:2px 6px}.ns-ctrl-mobile{gap:10px}.ns-ctrl-vcol,.ns-ctrl-hrow{gap:2px}.ns-line-v{height:6px}.ns-eq{font-size:.8rem;height:30px}.ns-ctrl-pc-left-wrap>.ns-arrow-h{margin-top:45px}.ns-line-h{width:6px}.ns-keys-hint{display:none}}@media (min-width: 768px) and (min-height: 900px){.ns-target-circle{width:88px;height:88px;font-size:2.4rem;border-width:5px}.ns-target-row .ns-preview{left:calc(50% + 56px)}.ns-future-target{width:40px;height:40px;font-size:.9rem}.ns-next-target{width:50px;height:50px;font-size:1.15rem}.ns-box{--box-h: 200px;padding:12px 14px;gap:10px}.ns-number-circle{width:66px;height:66px;font-size:1.9rem}.ns-num-b{width:62px;height:62px;font-size:2rem}.ns-op-btn{width:54px;height:46px;font-size:1.45rem;border-radius:12px}.ns-controls{padding:4px 14px}.ns-ctrl-pc{gap:16px}.ns-ctrl-vcol,.ns-ctrl-hrow{gap:4px}.ns-line-v{height:16px}.ns-eq{font-size:1.2rem;height:60px}.ns-ctrl-pc-left-wrap>.ns-arrow-h{margin-top:84px}.ns-line-h{width:16px}.ns-arrow svg{width:60px;height:30px}.ns-arrow-v svg{width:30px;height:50px}.ns-prev-ten{width:8px;height:54px}.ns-prev-unit{width:8px;height:8px}}.g21-container{display:flex;flex-direction:column;align-items:center;height:100vh;height:100dvh;padding:0 12px 16px;padding-top:env(safe-area-inset-top,0px);padding-bottom:max(16px,env(safe-area-inset-bottom));background:#faf8ef;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;user-select:none;-webkit-user-select:none;overflow-y:auto;overflow-x:hidden}.dark.g21-container{background:#1a1a2e;color:#ddd}.g21-scores{display:flex;gap:8px;margin:8px 0 4px;width:min(92vw,420px)}.g21-score-box{flex:1;display:flex;flex-direction:column;align-items:center;background:#bbada0;border-radius:6px;padding:6px 8px;min-width:0}.dark .g21-score-box{background:#3d3a33}.g21-score-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#eee4da}.g21-score-val{font-size:clamp(1rem,4vw,1.3rem);font-weight:700;color:#fff}.g21-bases-bar{display:flex;gap:6px;margin:4px 0}.g21-base-tag{padding:2px 10px;border-radius:12px;font-size:.72rem;font-weight:700;letter-spacing:.3px}.g21-base-tag.b2{background:#fff3e0;color:#e65100}.g21-base-tag.b3{background:#e8f5e9;color:#2e7d32}.g21-base-tag.b5{background:#e3f2fd;color:#1565c0}.dark .g21-base-tag.b2{background:#3e2723;color:#ffab40}.dark .g21-base-tag.b3{background:#1b5e20;color:#69f0ae}.dark .g21-base-tag.b5{background:#0d47a1;color:#82b1ff}.g21-blur{filter:blur(4px);pointer-events:none;transition:filter .3s ease}.g21-flash-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#00000073;border-radius:8px;animation:g21-flash-in .4s ease-out}.dark .g21-flash-overlay{background:#0000008c}.g21-flash-text{font-family:Clear Sans,Helvetica Neue,Arial,sans-serif;font-size:clamp(2.4rem,10vw,3.6rem);font-weight:700;color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.4);animation:g21-flash-pop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes g21-flash-in{0%{opacity:0}to{opacity:1}}@keyframes g21-flash-pop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}.g21-res-header{width:min(92vw,420px);margin:4px 0 2px;text-align:center;animation:g21-res-slide .4s ease-out}@keyframes g21-res-slide{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.g21-res-score-line{font-family:Clear Sans,Helvetica Neue,Arial,sans-serif;font-size:clamp(1.1rem,4.5vw,1.6rem);font-weight:700;color:#ffd54f}.g21-res-score-line strong{font-weight:800}.g21-res-stats-line{font-size:clamp(.78rem,3vw,.95rem);font-weight:600;color:#776e65;margin-top:2px}.dark .g21-res-stats-line{color:#aaa}.g21-res-yellow{font-weight:700;color:#ffd54f}.g21-board-wrap{margin:4px 0;touch-action:none}.g21-board{position:relative;width:min(92vw,420px);aspect-ratio:1;background:#bbada0;border-radius:8px}.dark .g21-board{background:#3d3a33}.g21-bg{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px}.g21-cell{background:#eee4da59;border-radius:4px}.dark .g21-cell{background:#ffffff0f}.g21-tw{position:absolute;width:calc((100% - 40px)/4);aspect-ratio:1;left:8px;top:8px;transform:translate(calc(var(--c) * (100% + 8px)),calc(var(--r) * (100% + 8px)));transition:transform .12s ease-in-out;z-index:1}.g21-tile{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:4px;font-family:Clear Sans,Helvetica Neue,Arial,sans-serif;font-weight:700;position:relative;cursor:default;line-height:1}@keyframes g21-pop{0%{transform:scale(0)}60%{transform:scale(1.15)}to{transform:scale(1)}}.g21-merge .g21-tile{animation:g21-pop .2s ease forwards}@keyframes g21-appear{0%{transform:scale(0);opacity:.5}to{transform:scale(1);opacity:1}}.g21-spawn .g21-tile{animation:g21-appear .15s ease forwards}.g21-tuto-sub{color:#776e65;font-size:.95rem;margin:0 0 10px}.dark .g21-tuto-sub{color:#aaa}.g21-tuto-cfg{margin:16px 0 12px;padding:12px;background:#00000008;border-radius:8px}.dark .g21-tuto-cfg{background:#ffffff0d}.g21-cfg-title{font-size:.9rem;font-weight:800;color:#776e65;margin-bottom:2px}.dark .g21-cfg-title{color:#ddd}.g21-cfg-sub{font-size:.72rem;color:#a09080;margin:0 0 10px;line-height:1.3}.dark .g21-cfg-sub{color:#888}.g21-base-cards{display:flex;flex-direction:column;gap:6px;margin:8px 0}.g21-base-cards.compact{flex-direction:row;justify-content:center}.g21-base-card{display:flex;align-items:center;gap:10px;padding:10px 14px;border:2.5px solid #ddd;border-radius:10px;cursor:pointer;background:#fff;font-family:inherit;transition:all .2s ease;opacity:.35}.g21-base-cards.compact .g21-base-card{flex:1;padding:8px 10px;justify-content:center}.g21-base-card.active{opacity:1;transform:scale(1.02);box-shadow:0 2px 8px #00000014}.g21-base-card.b2{border-color:#e65100}.g21-base-card.b2.active{background:#fff3e0}.g21-base-card.b3{border-color:#2e7d32}.g21-base-card.b3.active{background:#e8f5e9}.g21-base-card.b5{border-color:#1565c0}.g21-base-card.b5.active{background:#e3f2fd}.dark .g21-base-card{background:#2a2a3e;border-color:#444}.dark .g21-base-card.b2{border-color:#ff9800}.dark .g21-base-card.b2.active{background:#3e2723}.dark .g21-base-card.b3{border-color:#66bb6a}.dark .g21-base-card.b3.active{background:#1b5e20}.dark .g21-base-card.b5{border-color:#42a5f5}.dark .g21-base-card.b5.active{background:#0d47a1}.g21-card-check{width:22px;height:22px;border-radius:6px;border:2px solid #ccc;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:900;flex-shrink:0;transition:all .2s}.g21-base-card.b2 .g21-card-check{border-color:#e65100;color:#e65100}.g21-base-card.b3 .g21-card-check{border-color:#2e7d32;color:#2e7d32}.g21-base-card.b5 .g21-card-check{border-color:#1565c0;color:#1565c0}.g21-base-card.active .g21-card-check{background:currentColor;color:#fff}.g21-base-card.active.b2 .g21-card-check{background:#e65100}.g21-base-card.active.b3 .g21-card-check{background:#2e7d32}.g21-base-card.active.b5 .g21-card-check{background:#1565c0}.dark .g21-base-card.active.b2 .g21-card-check{background:#ff9800}.dark .g21-base-card.active.b3 .g21-card-check{background:#66bb6a}.dark .g21-base-card.active.b5 .g21-card-check{background:#42a5f5}.g21-card-label{font-weight:800;font-size:.9rem}.g21-base-card.b2 .g21-card-label{color:#e65100}.g21-base-card.b3 .g21-card-label{color:#2e7d32}.g21-base-card.b5 .g21-card-label{color:#1565c0}.dark .g21-base-card.b2 .g21-card-label{color:#ff9800}.dark .g21-base-card.b3 .g21-card-label{color:#66bb6a}.dark .g21-base-card.b5 .g21-card-label{color:#42a5f5}.g21-card-seq{font-size:.65rem;font-weight:600;color:#999;white-space:nowrap}.dark .g21-card-seq{color:#666}.g21-base-toggles{display:flex;flex-direction:column;gap:10px;margin:10px 0}.g21-base-toggle{display:flex;align-items:center;gap:12px;cursor:pointer}.g21-toggle-label{font-weight:800;font-size:.95rem}.g21-toggle-label.b2{color:#e65100}.g21-toggle-label.b3{color:#2e7d32}.g21-toggle-label.b5{color:#1565c0}.dark .g21-toggle-label.b2{color:#ff9800}.dark .g21-toggle-label.b3{color:#66bb6a}.dark .g21-toggle-label.b5{color:#42a5f5}.g21-tuto-goal{background:#0000000a;border-radius:8px;padding:8px 12px;margin:4px 0 8px;font-size:.88rem;color:#555}.dark .g21-tuto-goal{background:#ffffff0f;color:#ccc}.g21-stats-row{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 10px;margin:2px 0 4px;width:min(92vw,420px);font-size:.68rem;color:#888}.dark .g21-stats-row{color:#777}.g21-stat-tag{font-weight:600}.g21-stat-tag strong{font-weight:800}.g21-stat-tag.b2{color:#e65100}.g21-stat-tag.b3{color:#2e7d32}.g21-stat-tag.b5{color:#1565c0}.dark .g21-stat-tag.b2{color:#ffab40}.dark .g21-stat-tag.b3{color:#69f0ae}.dark .g21-stat-tag.b5{color:#82b1ff}.g21-stat-power{font-weight:600;color:#776e65}.g21-stat-power strong{font-weight:800}.dark .g21-stat-power{color:#aaa}.g21-stat-pbest{font-size:.6rem;color:#999;margin-left:4px}.g21-endgame{width:min(92vw,420px);margin-top:4px;padding-bottom:max(16px,env(safe-area-inset-bottom));text-align:center;animation:g21-res-slide .4s ease-out}.g21-end-actions{display:flex;gap:10px;justify-content:center;margin:6px 0 8px}.g21-action-btn{padding:8px 28px;border:none;border-radius:8px;font-family:inherit;font-weight:700;font-size:clamp(.82rem,3vw,.95rem);cursor:pointer;transition:all .15s;min-width:100px}.g21-action-replay{background:#8f7a66;color:#f9f6f2}.g21-action-replay:hover{background:#7a6658}.g21-action-menu{background:#0000001f;color:#776e65}.g21-action-menu:hover{background:#0000002e}.dark .g21-action-replay{background:#5a4e3e;color:#f0e6d6}.dark .g21-action-replay:hover{background:#6b5d4a}.dark .g21-action-menu{background:#ffffff1a;color:#ccc}.dark .g21-action-menu:hover{background:#ffffff29}.g21-end-detail{margin-top:4px;padding-top:6px;border-top:1px solid rgba(0,0,0,.08)}.dark .g21-end-detail{border-color:#ffffff14}.g21-end-detail-title{font-size:clamp(.78rem,3vw,.92rem);font-weight:700;color:#ffd54f;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.g21-end-tiles-line{font-size:clamp(.72rem,2.8vw,.88rem);font-weight:600;line-height:1.4}.g21-end-base-val.b2{color:#e65100}.g21-end-base-val.b3{color:#2e7d32}.g21-end-base-val.b5{color:#1565c0}.dark .g21-end-base-val.b2{color:#ffab40}.dark .g21-end-base-val.b3{color:#69f0ae}.dark .g21-end-base-val.b5{color:#82b1ff}.g21-end-base-val strong{font-weight:800}.g21-end-sep{color:#ccc;margin:0 2px;font-weight:400}.dark .g21-end-sep{color:#555}.g21-end-power-total{font-size:clamp(.72rem,2.8vw,.88rem);font-weight:700;color:#333;margin-top:4px}.dark .g21-end-power-total{color:#f0f0f0}.g21-end-records{margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,.08)}.dark .g21-end-records{border-color:#ffffff14}.g21-end-rec-title{font-family:Clear Sans,Helvetica Neue,Arial,sans-serif;font-size:clamp(.82rem,3.2vw,1rem);font-weight:700;color:#daa520;margin-bottom:4px}.g21-end-rec-values{display:flex;justify-content:center;align-items:center;gap:6px;font-size:clamp(.88rem,3.5vw,1.1rem);font-weight:800;color:#daa520}.g21-end-rec-dot{color:#daa52066;font-weight:400}.g21-end-rec-keys{display:flex;justify-content:center;align-items:center;gap:6px;font-size:clamp(.55rem,2vw,.65rem);font-weight:600;color:#999;margin-top:1px}.dark .g21-end-rec-keys{color:#777}.g21-share-btn-final{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:10px auto 0;padding:10px 24px;border:2px solid #1976d2;border-radius:10px;background:#1976d2;color:#fff;font-weight:700;font-size:clamp(.78rem,3vw,.9rem);cursor:pointer;font-family:inherit;transition:all .15s}.g21-share-btn-final:hover{background:#1565c0}.g21-share-btn-final:active{transform:scale(.97)}.dark .g21-share-btn-final{background:#1565c0;border-color:#42a5f5;color:#fff}.dark .g21-share-btn-final:hover{background:#1976d2}.g21-score-box.best{background:#8f7a66}.dark .g21-score-box.best{background:#5a4e3e}.g21-base-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:4px;vertical-align:middle}.g21-base-dot.b2{background:#e65100}.g21-base-dot.b3{background:#2e7d32}.g21-base-dot.b5{background:#1565c0}.g21-legend{margin:6px 0;font-size:.78rem;color:#999;text-align:center}.dark .g21-legend{color:#666}@media (max-width: 380px){.g21-board{border-radius:6px}.g21-bg{gap:6px;padding:6px}.g21-tw{width:calc((100% - 30px)/4);left:6px;top:6px;transform:translate(calc(var(--c) * (100% + 6px)),calc(var(--r) * (100% + 6px)))}.g21-cell,.g21-tile{border-radius:3px}.g21-scores{gap:4px}.g21-score-box{padding:4px 6px}}.zg-container{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;background:#0a0a0a;overflow:hidden}.zg-menu{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,#050510,#0a0015 40%,#0a0a20);color:#eee;font-family:inherit;gap:16px;padding:24px}.zg-back{position:absolute;top:16px;left:16px;padding:8px 14px;border:2px solid rgba(0,255,204,.3);background:#00ffcc0d;color:#0fc;font-size:.85rem;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s}.zg-back:hover{background:#00ffcc26}.zg-menu-content{display:flex;flex-direction:column;align-items:center;gap:14px}.zg-title{font-size:clamp(2.2rem,8vw,3.5rem);font-weight:900;letter-spacing:5px;color:#f60;text-shadow:0 0 20px rgba(255,102,0,.5),0 0 40px rgba(255,102,0,.2);text-transform:uppercase}.zg-subtitle{font-size:.9rem;color:#0fc;margin-top:-8px;letter-spacing:2px}.zg-controls-hint{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.75rem;color:#666;padding:10px 18px;border:1px solid rgba(0,255,204,.15);background:#00ffcc08}.zg-play-btn{padding:16px 48px;border:2px solid #00ffcc;background:#00ffcc1a;color:#0fc;font-size:1.15rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all .15s;letter-spacing:2px;text-transform:uppercase;box-shadow:0 0 20px #0fc3}.zg-play-btn:hover{background:#0fc3;box-shadow:0 0 30px #0fc6}.zg-play-btn:active{transform:scale(.97)}.zg-high-score{font-size:.82rem;color:#f60}.zg-hud-top{position:fixed;top:48px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:6px 14px;pointer-events:none;z-index:10}.zg-hud-top-wave,.zg-hud-top-grade{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#050510cc;border:2px solid rgba(0,255,204,.25)}.zg-hud-top-label{font-size:.55rem;font-weight:800;color:#0fc;text-transform:uppercase;letter-spacing:2px}.zg-hud-top-val{font-size:1.1rem;font-weight:900;color:#fff}.zg-score-neon{font-size:clamp(1.3rem,5vw,1.8rem);color:#f60;text-shadow:0 0 12px rgba(255,102,0,.6);letter-spacing:2px}.zg-hud-top-score{padding:4px 14px;background:#050510cc;border:2px solid rgba(255,102,0,.3)}.zg-hud-top-grade{border-color:#ffd7004d}.zg-hud-top-grade .zg-hud-top-val{font-size:.9rem}.zg-hud-dash{position:fixed;bottom:6px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:6px 14px;background:#050510d9;border:1px solid rgba(0,255,204,.25);pointer-events:none;z-index:10;max-width:380px;width:92%}.zg-dash-stat-box{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:38px;padding:2px 6px;border:1px solid rgba(0,255,204,.15);background:#00ffcc08}.zg-dash-stat-label{font-size:.5rem;font-weight:800;color:#0fc;text-transform:uppercase;letter-spacing:2px}.zg-dash-stat-val{font-size:.85rem;font-weight:900;color:#f60;font-family:Courier New,monospace}.zg-dash-hp-section{flex:1;display:flex;flex-direction:column;align-items:stretch;gap:2px}.zg-dash-hp-header{display:flex;justify-content:space-between;align-items:center}.zg-dash-hp-label{font-size:.55rem;font-weight:900;color:#f44;letter-spacing:2px;text-transform:uppercase}.zg-dash-hp-track{width:100%;height:10px;background:#ffffff14;border:1px solid rgba(255,0,51,.4);overflow:hidden}.zg-dash-hp-fill{height:100%;background:linear-gradient(90deg,#f03,#f36);box-shadow:0 0 6px #ff003380;transition:width .2s ease-out}.zg-dash-hp-text{font-size:.55rem;font-weight:800;color:#f66;letter-spacing:1px;font-family:Courier New,monospace}.zg-tuto-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#000c;animation:zg-fadeIn .3s}.zg-tuto-card{background:linear-gradient(180deg,#0a0a20,#050510);border:2px solid #00ffcc;box-shadow:0 0 20px #00ffcc4d,inset 0 0 15px #00ffcc0d;padding:24px 28px;max-width:320px;width:90%;text-align:center}.zg-tuto-icon{font-size:2.5rem;margin-bottom:8px}.zg-tuto-title{font-size:1.1rem;font-weight:900;color:#0fc;letter-spacing:3px;text-transform:uppercase;margin:0 0 12px;text-shadow:0 0 8px rgba(0,255,204,.6)}.zg-tuto-visual{font-size:1.4rem;margin:10px 0;letter-spacing:4px}.zg-tuto-lines{display:flex;flex-direction:column;gap:6px;margin:12px 0}.zg-tuto-line{font-size:.75rem;color:#ccc;font-family:Courier New,monospace;letter-spacing:1px}.zg-tuto-dots{display:flex;justify-content:center;gap:8px;margin:14px 0 10px}.zg-tuto-dot{width:8px;height:8px;background:#fff3}.zg-tuto-dot.active{background:#0fc;box-shadow:0 0 6px #0fc}.zg-tuto-btns{display:flex;justify-content:space-between;gap:12px;margin-top:8px}.zg-tuto-skip{background:transparent;color:#666;border:1px solid #333;padding:6px 16px;font-size:.7rem;font-weight:800;letter-spacing:2px;cursor:pointer;text-transform:uppercase}.zg-tuto-skip:hover{color:#aaa;border-color:#555}.zg-tuto-next{background:transparent;color:#0fc;border:2px solid #00ffcc;padding:6px 20px;font-size:.75rem;font-weight:900;letter-spacing:2px;cursor:pointer;text-transform:uppercase;box-shadow:0 0 8px #00ffcc4d}.zg-tuto-next:hover{background:#00ffcc1a}@keyframes zg-fadeIn{0%{opacity:0}to{opacity:1}}.zg-gameover-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;animation:zg-fade-in .4s ease-out}@keyframes zg-fade-in{0%{opacity:0}to{opacity:1}}.zg-gameover-card{display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px 20px;background:#050510f2;border:2px solid rgba(255,0,51,.5);box-shadow:0 0 30px #f033,0 8px 40px #000c;max-width:92vw;width:auto}.zg-go-title{font-size:clamp(1.4rem,6vw,2.2rem);font-weight:900;color:#f03;letter-spacing:4px;text-shadow:0 0 20px rgba(255,0,51,.6);text-transform:uppercase}.zg-go-stats{display:flex;flex-direction:column;gap:10px;width:100%}.zg-go-row{display:flex;justify-content:center;gap:clamp(12px,4vw,24px)}.zg-go-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.zg-go-stat-label{font-size:clamp(.55rem,2.5vw,.7rem);font-weight:800;color:#0fc;text-transform:uppercase;letter-spacing:2px}.zg-go-stat-value{font-size:clamp(1.1rem,5vw,1.6rem);font-weight:900;color:#f60}.zg-go-btns{display:flex;gap:12px;margin-top:8px}.zg-go-btn{padding:12px 28px;border:none;font-size:1rem;font-weight:800;cursor:pointer;font-family:inherit;transition:all .15s;text-transform:uppercase;letter-spacing:1px}.zg-go-replay{background:#00ffcc26;color:#0fc;border:2px solid #00ffcc;box-shadow:0 0 12px #0fc3}.zg-go-replay:hover{background:#00ffcc40;box-shadow:0 0 20px #0fc6}.zg-go-menu{background:#ffffff0d;color:#888;border:2px solid rgba(255,255,255,.2)}.zg-go-menu:hover{background:#ffffff1f}.zg-topbar{position:fixed;top:0;left:0;right:0;height:44px;display:flex;align-items:center;gap:6px;padding:0 10px;background:#050510d9;z-index:30;border-bottom:2px solid rgba(0,255,204,.2)}.zg-topbar-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(0,255,204,.2);background:#00ffcc0d;color:#0fc;cursor:pointer;transition:all .15s}.zg-topbar-btn:hover{background:#00ffcc26}.zg-topbar-title{flex:1;text-align:center;font-size:.85rem;font-weight:900;letter-spacing:3px;color:#f60;text-shadow:0 0 8px rgba(255,102,0,.4)}.zg-topbar-right{display:flex;gap:6px}.zg-wave-announce{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:clamp(1.5rem,6vw,3rem);font-weight:900;color:#0fc;text-shadow:0 0 30px rgba(0,255,204,.6),0 0 60px rgba(0,255,204,.3);letter-spacing:6px;text-transform:uppercase;pointer-events:none;z-index:15;animation:zg-announce-in .3s ease-out}@keyframes zg-announce-in{0%{opacity:0;transform:translate(-50%,-50%) scale(1.6)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.zg-boss-bar{position:fixed;top:96px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:6px 16px;background:#000000a6;border-radius:10px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(244,67,54,.3);z-index:12;min-width:200px}.zg-boss-label{font-size:.7rem;font-weight:900;color:#f44336;letter-spacing:2px}.zg-boss-track{flex:1;height:10px;background:#ffffff1a;border-radius:5px;overflow:hidden}.zg-boss-fill{height:100%;background:linear-gradient(90deg,#f44336,#ff5722);border-radius:5px;transition:width .15s ease-out}.zg-boss-hp{font-size:.8rem;font-weight:800;color:#ff8a80;min-width:28px;text-align:right}.zg-pause-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:25;animation:zg-fade-in .25s ease-out}.zg-pause-card{display:flex;flex-direction:column;align-items:center;gap:20px;padding:36px 48px;background:#050510f2;border:2px solid rgba(0,255,204,.3);box-shadow:0 0 30px #00ffcc1a,0 8px 40px #000c}.zg-pause-title{font-size:2rem;font-weight:900;color:#0fc;letter-spacing:6px;margin:0;text-shadow:0 0 12px rgba(0,255,204,.4)}.zg-quality-selector{display:flex;flex-direction:column;align-items:center;gap:8px}.zg-quality-label{font-size:.7rem;font-weight:800;color:#0fc;text-transform:uppercase;letter-spacing:2px}.zg-quality-btns{display:flex;gap:8px}.zg-quality-btn{padding:8px 16px;border:2px solid rgba(255,255,255,.12);background:#ffffff08;color:#666;font-size:.8rem;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s}.zg-quality-btn:hover{background:#ffffff14}.zg-quality-btn.active{background:#00ffcc1a;border-color:#0fc;color:#0fc}.zg-pause-btns{display:flex;gap:12px;margin-top:8px}.dark .zg-topbar{background:#020208e6;border-bottom-color:#bf40bf4d}.dark .zg-topbar-title{color:#bf40bf;text-shadow:0 0 8px rgba(191,64,191,.4)}.dark .zg-topbar-btn{border-color:#bf40bf33;color:#bf40bf}.dark .zg-hud-top-wave,.dark .zg-hud-top-grade{border-color:#bf40bf40}.dark .zg-hud-top-label{color:#bf40bf}.dark .zg-hud-dash{border-color:#bf40bf4d}.dark .zg-dash-stat-label{color:#bf40bf}.dark .zg-dash-stat-box{border-color:#bf40bf33;background:#bf40bf08}.dark .zg-gameover-card{border-color:#bf40bf66}.dark .zg-pause-card{border-color:#bf40bf4d}.dark .zg-pause-title{color:#bf40bf;text-shadow:0 0 12px rgba(191,64,191,.4)}.dark .zg-quality-btn.active{background:#bf40bf26;border-color:#bf40bf;color:#bf40bf}.dark .zg-wave-announce{color:#bf40bf;text-shadow:0 0 30px rgba(191,64,191,.6)}
