@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500;700&display=swap";:root{--bg-main:#f8fafc;--bg-card:#ffffffd9;--bg-card-hover:#fffffffa;--border-glass:#00000014;--border-active:#6366f14d;--color-primary:#6366f1;--color-primary-glow:#6366f140;--color-success:#10b981;--color-danger:#ef4444;--color-warning:#f59e0b;--text-main:#0f172a;--text-sub:#475569;--text-muted:#64748b;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--font-main:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", monospace;--shadow-glow:0 6px 20px #6366f140;--shadow-card:0 10px 30px -5px #0f172a12, 0 4px 12px #0f172a0a}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0;padding:0}html,body{background-color:var(--bg-main);width:100%;height:100%;color:var(--text-main);font-family:var(--font-main);position:fixed;overflow:hidden}#root{background:radial-gradient(circle at 50% 0,#eef2ff 0%,#faf5ff 45%,#f1f5f9 100%);justify-content:center;align-items:center;width:100%;height:100dvh;display:flex}.app-container{flex-direction:column;justify-content:space-between;width:100%;max-width:480px;height:100dvh;padding:12px 16px 16px;display:flex;position:relative;overflow:hidden}.game-header{z-index:10;flex-direction:column;gap:10px;width:100%;display:flex}.top-bar{justify-content:space-between;align-items:center;display:flex}.brand-title{align-items:center;gap:8px;display:flex}.brand-icon{background:linear-gradient(135deg,#ec4899,#8b5cf6,#3b82f6);border-radius:8px;width:28px;height:28px;box-shadow:0 0 12px #ec489966}.brand-text{letter-spacing:-.5px;background:linear-gradient(135deg,#0f172a 30%,#4338ca 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.25rem;font-weight:800}.header-actions{align-items:center;gap:8px;display:flex}.icon-btn{background:var(--bg-card);border:1px solid var(--border-glass);color:var(--text-sub);border-radius:var(--radius-sm);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s;display:flex}.icon-btn:active{background:var(--bg-card-hover);color:var(--text-main);transform:scale(.92)}.stats-bar{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-card);justify-content:space-around;align-items:center;padding:8px 16px;display:flex}.stat-item{flex-direction:column;align-items:center;display:flex}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;font-size:.68rem;font-weight:700}.stat-value{color:var(--text-main);font-size:1.25rem;font-weight:800;font-family:var(--font-mono)}.stat-value.streak{color:#f59e0b}.stat-value.best{color:#10b981}.difficulty-indicator-bar{background:var(--bg-card);border:1px solid var(--border-glass);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);gap:6px;padding:6px;display:flex;box-shadow:0 2px 10px #0f172a0a}.diff-step{color:var(--text-muted);font-family:var(--font-main);border-radius:var(--radius-sm);pointer-events:none;background:#00000008;border:1.5px solid #0000;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:6px 4px;transition:all .25s;display:flex}.diff-step.active{color:#0f172a;border-color:var(--badge-color,var(--color-primary));background:#fff;box-shadow:0 4px 12px #00000014}.diff-step.passed{opacity:.65;color:var(--color-success);background:#10b98114;border-color:#10b9814d}.diff-step .step-name{letter-spacing:-.2px;font-size:.75rem;font-weight:700}.diff-step .step-progress{font-size:.65rem;font-family:var(--font-mono);margin-top:1px;font-weight:800}.diff-step.active .step-progress{color:var(--badge-color,var(--color-primary))}.game-play-area{flex-direction:column;flex:1;gap:16px;min-height:0;margin-top:12px;display:flex}.target-display-card{border-radius:var(--radius-lg);border:1px solid var(--border-glass);width:100%;min-height:135px;max-height:180px;box-shadow:var(--shadow-card);flex-direction:column;flex:none;justify-content:center;align-items:center;padding:20px;transition:transform .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.target-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.5px;text-transform:uppercase;border:1px solid #0000;border-radius:20px;padding:4px 10px;font-size:.7rem;font-weight:700;position:absolute;top:12px;left:12px}.target-hex-code{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-mono);letter-spacing:1px;background:#00000073;border:1px solid #ffffff26;border-radius:8px;padding:4px 10px;font-size:.8rem;font-weight:700;position:absolute;bottom:12px;right:12px}.feedback-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:5;justify-content:center;align-items:center;font-size:1.5rem;font-weight:800;animation:.15s ease-out fadeIn;display:flex;position:absolute;inset:0}.feedback-overlay.correct{color:#fff;background:#10b98166}.feedback-overlay.wrong{color:#fff;background:#ef444466}.color-grid-container{flex:auto;gap:8px;width:100%;min-height:0;display:grid}.color-grid-container.cols-2{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr)}.color-grid-container.cols-4,.color-grid-container.cols-5{grid-template-columns:repeat(4,1fr)}@media (width>=400px){.color-grid-container.cols-5{grid-template-columns:repeat(5,1fr)}}.option-card{border-radius:var(--radius-md);cursor:pointer;border:2px solid #0000;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;min-height:48px;transition:transform .15s cubic-bezier(.4,0,.2,1),box-shadow .15s,border-color .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0f172a14}.option-card:hover{transform:translateY(-2px)}.option-card:active{transform:scale(.94)}.option-card .hex-label{font-family:var(--font-mono);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;text-shadow:0 1px 2px #00000080;letter-spacing:.5px;background:#0000004d;border-radius:4px;padding:2px 6px;font-weight:700;line-height:1.1}.cols-2 .option-card .hex-label{font-size:.95rem}.cols-4 .option-card .hex-label{font-size:.7rem}.cols-5 .option-card .hex-label{font-size:.6rem}.option-card.correct-selected{animation:.4s cubic-bezier(.175,.885,.32,1.275) popSuccess;border-color:#10b981!important;box-shadow:0 0 20px #10b981cc!important}.option-card.wrong-selected{animation:.4s ease-in-out shakeWrong;border-color:#ef4444!important;box-shadow:0 0 20px #ef4444cc!important}.option-card.revealed-correct{animation:.4s cubic-bezier(.175,.885,.32,1.275) popSuccess;border-color:#10b981!important;box-shadow:0 0 24px #10b981e6!important}.correct-check-badge{color:#fff;pointer-events:none;background:#10b981;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.1rem;font-weight:900;display:flex;position:absolute;box-shadow:0 2px 8px #00000080}.modal-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:#0f172a59;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-card{border:1px solid var(--border-glass);border-radius:var(--radius-lg);background:#fff;flex-direction:column;gap:16px;width:100%;max-width:400px;padding:24px;display:flex;position:relative;box-shadow:0 20px 40px #0f172a1f}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:1.2rem;font-weight:800}.primary-btn{color:#fff;border-radius:var(--radius-md);width:100%;font-family:var(--font-main);cursor:pointer;box-shadow:var(--shadow-glow);background:linear-gradient(135deg,#6366f1,#4f46e5);border:none;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:1rem;font-weight:700;transition:all .2s;display:flex}.primary-btn:active{opacity:.9;transform:scale(.97)}.setting-row{border-bottom:1px solid var(--border-glass);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.setting-info{flex-direction:column;display:flex}.setting-title{font-size:.95rem;font-weight:600}.setting-desc{color:var(--text-muted);font-size:.75rem}.toggle-switch{cursor:pointer;background:#0000001f;border-radius:20px;width:48px;height:26px;transition:background .3s;position:relative}.toggle-switch.on{background:var(--color-primary)}.toggle-thumb{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .3s cubic-bezier(.4,0,.2,1);position:absolute;top:3px;left:3px}.toggle-switch.on .toggle-thumb{transform:translate(22px)}@keyframes fadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes popSuccess{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes shakeWrong{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.ad-banner-wrapper{background:var(--bg-card);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:5;border:1px dashed #6366f14d;justify-content:center;align-items:center;width:100%;min-height:54px;margin-top:12px;padding:6px 12px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #0f172a0d}.ad-container{justify-content:center;align-items:center;width:100%;min-height:50px;display:flex}.ad-banner-placeholder{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.ad-badge{letter-spacing:.5px;text-transform:uppercase;color:#fff;white-space:nowrap;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:6px;padding:3px 8px;font-size:.65rem;font-weight:800}.ad-info{flex-direction:column;flex:1;align-items:flex-start;display:flex;overflow:hidden}.ad-title{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.75rem;font-weight:700;overflow:hidden}.ad-sub{color:var(--text-muted);font-size:.62rem;font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.ad-icon{font-size:1rem}
