@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;700;900&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--font-size-base: 16px;--panel-width: 280px}body{font-family:Outfit,sans-serif;overflow:hidden;background:#1a1a2e}.app{width:100vw;height:100vh;position:relative}.canvas{display:block;width:100%;height:100%;cursor:grab}.canvas:active{cursor:grabbing}.ui-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem}.header{display:flex;justify-content:space-between;align-items:flex-start;pointer-events:auto;flex-wrap:wrap;gap:1rem}.logo{display:flex;align-items:center;gap:1rem}.logo-icon{font-size:3rem;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-5px) rotate(-5deg)}75%{transform:translateY(-5px) rotate(5deg)}}.logo h1{font-size:2.5rem;font-weight:900;background:linear-gradient(135deg,#ff6b6b,#ffe66d,#4ecdc4,#45b7d1,#96e6a1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-transform:uppercase;letter-spacing:-.02em}.logo p{color:#94a3b8;font-size:.9rem;font-weight:500}.stats{display:flex;align-items:center;gap:1.5rem;background:#ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:1rem 1.5rem;border-radius:20px;border:1px solid rgba(255,255,255,.15)}.stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-value{font-size:1.5rem;font-weight:700;color:#fff}.stat-label{font-size:.75rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.settings-btn-inline{background:#ffffff1a;border:1px solid rgba(255,255,255,.1);color:#fff;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;cursor:pointer;transition:all .2s;margin-left:.5rem}.settings-btn-inline:hover{background:#fff3;transform:rotate(45deg) scale(1.1)}.settings-btn-inline:active{transform:rotate(45deg) scale(.95)}.controls-panel{pointer-events:auto;background:#00000080;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.15);border-radius:24px;padding:1.25rem;width:var(--panel-width);min-width:300px;display:flex;flex-direction:column;gap:.875rem;box-shadow:0 25px 50px -12px #00000080;overflow:hidden}.control-section{display:flex;flex-direction:column;gap:.5rem}.control-label{font-size:1rem;font-weight:700;color:#fff}.size-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.size-btn{background:#ffffff1a;border:2px solid rgba(255,255,255,.2);color:#fff;padding:.6rem;border-radius:12px;font-size:1rem;font-weight:700;font-family:Outfit,sans-serif;cursor:pointer;transition:all .2s ease}.size-btn:hover{background:#fff3;border-color:#fff6;transform:translateY(-2px)}.size-btn.active{background:linear-gradient(135deg,#ff6b6b,#ff8e53);border-color:transparent;box-shadow:0 4px 15px #ff6b6b66}.action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.btn{padding:.875rem;border:none;border-radius:14px;font-size:1rem;font-weight:700;font-family:Outfit,sans-serif;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn:hover{transform:translateY(-2px);filter:brightness(1.1)}.btn:active{transform:translateY(0)}.btn.scramble{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 6px 20px #667eea66}.btn.reset{background:#ffffff26;color:#fff;border:2px solid rgba(255,255,255,.25)}.btn.reset:hover{background:#fff3}.btn.disabled,.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;filter:none!important}.btn.disabled:hover,.btn:disabled:hover{transform:none}.help-section{background:#ffffff14;border-radius:10px;padding:.65rem}.help-title{font-size:.9rem;font-weight:700;color:#fff;margin-bottom:.3rem}.help-text{font-size:.75rem;color:#c8d0dc;line-height:1.4}.help-text strong{color:#4ecdc4}.face-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem;margin-top:.35rem;width:100%}.face-control-group{display:flex;align-items:center;justify-content:center;gap:.15rem;background:#0006;border-radius:8px;padding:.3rem .25rem}.face-label{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:5px;font-weight:900;font-size:.85rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);border:2px solid rgba(0,0,0,.3);box-shadow:0 2px 4px #0003}.face-label-light{color:#1a1a1a!important;text-shadow:none!important;border:2px solid rgba(0,0,0,.4)!important}.face-btn{width:26px;height:26px;border:none;border-radius:5px;background:#fff3;color:#fff;font-size:.95rem;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.face-btn:hover{background:#fff6;transform:scale(1.1)}.face-btn:active{transform:scale(.95);background:#ffffff80}.tip-section{background:linear-gradient(135deg,#4ecdc433,#45b7d133);border:1px solid rgba(78,205,196,.3);border-radius:8px;padding:.5rem .65rem;text-align:center}.tip-section p{font-size:.8rem;color:#4ecdc4}.tip-section strong{color:#fff}.settings-btn{background:#ffffff1f!important;border:2px solid rgba(255,255,255,.25)!important;color:#fff!important}.settings-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;pointer-events:auto;padding:1rem}.settings-modal{background:linear-gradient(145deg,#282846fa,#19192dfa);border:2px solid rgba(255,255,255,.15);border-radius:28px;padding:1.75rem;width:100%;max-width:480px;max-height:85vh;overflow-y:auto;box-shadow:0 30px 60px #0009}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid rgba(255,255,255,.1)}.settings-header h2{margin:0;font-size:1.75rem;font-weight:800;color:#fff}.close-btn{background:#ffffff26;border:2px solid rgba(255,255,255,.2);color:#fff;width:44px;height:44px;border-radius:50%;font-size:1.4rem;cursor:pointer;transition:all .2s}.close-btn:hover{background:#ff646466;border-color:#ff646480}.settings-content{display:flex;flex-direction:column;gap:1.75rem}.setting-group{display:flex;flex-direction:column;gap:1rem}.setting-label{font-size:1.15rem;font-weight:700;color:#fff}.theme-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.theme-btn{background:#ffffff14;border:2px solid rgba(255,255,255,.15);border-radius:14px;padding:1rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:.6rem}.theme-btn:hover{background:#ffffff26;border-color:#ffffff59;transform:translateY(-2px)}.theme-btn.active{border-color:#4ecdc4;background:#4ecdc433;box-shadow:0 0 20px #4ecdc44d}.theme-preview{display:flex;gap:5px}.theme-preview span{width:24px;height:24px;border-radius:5px;border:2px solid rgba(255,255,255,.25)}.theme-name{font-size:.95rem;color:#fff;font-weight:600}.bg-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.bg-btn{padding:.875rem .5rem;border:2px solid rgba(255,255,255,.2);border-radius:12px;color:#fff;background:#ffffff0d;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;text-align:center}.bg-btn:hover{border-color:#ffffff80;transform:translateY(-2px)}.bg-btn.active{border-color:gold;box-shadow:0 0 20px #ffd70066}.sound-on-btn.active{background:#00ff4133!important;border-color:#00ff41!important;box-shadow:0 0 15px #00ff4166;color:#00ff41!important}.sound-off-btn.active{background:#ff008033!important;border-color:#ff0080!important;box-shadow:0 0 15px #ff008066;color:#ff0080!important}.apply-btn{margin-top:1.25rem;background:linear-gradient(135deg,#4ecdc4,#45b7d1)!important;width:100%;font-size:1.1rem!important;padding:1rem!important}.branding{position:absolute;bottom:1.5rem;right:1.5rem;font-size:.85rem;color:#fff9;font-weight:500;pointer-events:auto;text-shadow:0 1px 3px rgba(0,0,0,.5);background:#0000004d;padding:.5rem 1rem;border-radius:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.branding:hover{background:#00000080;color:#ffffffe6;transform:translateY(-2px)}.brand-name{color:#4ecdc4;font-weight:700;margin-left:4px}.view-controls{position:absolute;bottom:5rem;right:2rem;left:auto;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:auto;z-index:10;background:#0003;padding:10px;border-radius:50%;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.05)}.view-row{display:flex;gap:4px;align-items:center}.view-center{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#fffc}.view-btn{width:48px;height:48px;border-radius:12px;border:none;background:#ffffff1a;color:#fff;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.1)}.view-btn:hover{background:#4ecdc433;border-color:#4ecdc4;color:#4ecdc4;transform:scale(1.05)}.view-btn:active{transform:scale(.95);background:#4ecdc466}@media(min-width:1600px){:root{--font-size-base: 18px;--panel-width: 380px}.ui-overlay{padding:2.5rem}.logo-icon{font-size:4rem}.logo h1{font-size:3.5rem}.logo p{font-size:1.2rem}.stat-value{font-size:2rem}.stat-label{font-size:.9rem}.stats{padding:1.25rem 2rem;gap:2.5rem}.controls-panel{padding:1.75rem;gap:1.5rem;border-radius:28px}.control-label{font-size:1.2rem}.size-btn{padding:1rem;font-size:1.2rem;border-radius:14px}.btn{padding:1.25rem;font-size:1.2rem;border-radius:18px}.face-label,.face-btn{width:36px;height:36px;font-size:1.1rem}.help-title{font-size:1.15rem}.help-text{font-size:1rem}.settings-modal{max-width:600px;padding:2.5rem}.settings-header h2{font-size:2.2rem}.setting-label{font-size:1.4rem}.theme-preview span{width:32px;height:32px}.theme-name{font-size:1.15rem}.bg-btn{font-size:1.1rem;padding:1.1rem}}@media(min-width:1024px)and (max-width:1599px){.ui-overlay{padding:1.5rem}.controls-panel{max-height:calc(100vh - 140px)}}@media(min-width:768px)and (max-width:1023px){:root{--panel-width: 280px}.ui-overlay{padding:1rem}.logo h1{font-size:2rem}.logo-icon{font-size:2.5rem}.stats{padding:.75rem 1rem;gap:1rem}.stat-value{font-size:1.2rem}.controls-panel{padding:1rem;gap:.75rem}.btn{padding:.75rem;font-size:.9rem}.face-controls{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){:root{--panel-width: 100%}.ui-overlay{padding:.75rem;justify-content:flex-start;gap:.5rem}.header{flex-direction:row;justify-content:space-between;align-items:center}.logo{gap:.5rem}.logo-icon{font-size:2rem}.logo h1{font-size:1.4rem}.logo p{font-size:.7rem}.stats{padding:.5rem .75rem;gap:.75rem;border-radius:12px}.settings-btn-inline{width:32px;height:32px;font-size:1.1rem;margin-left:.25rem;border-radius:8px}.view-controls{bottom:auto;top:130px;left:1rem;align-items:center;scale:.9;background:#0006}.stat-value{font-size:1rem}.stat-label{font-size:.6rem}.controls-panel{position:absolute;bottom:0;left:0;right:0;border-radius:20px 20px 0 0;padding:1rem;max-height:50vh;gap:.6rem;min-width:0}.control-label{font-size:.9rem}.size-buttons{gap:.4rem}.size-btn{padding:.5rem;font-size:.9rem;border-radius:10px}.branding{bottom:auto;top:1rem;right:1rem;font-size:.65rem;padding:.35rem .75rem;background:#0006}.action-buttons{gap:.4rem}.btn{padding:.65rem;font-size:.85rem;border-radius:12px}.help-section{padding:.6rem}.help-title{font-size:.85rem}.help-text{font-size:.75rem}.face-controls{grid-template-columns:repeat(3,1fr);gap:.3rem}.face-control-group{padding:.25rem}.face-label,.face-btn{width:22px;height:22px;font-size:.75rem}.tip-section{padding:.5rem}.tip-section p{font-size:.75rem}.settings-btn{padding:.6rem!important;font-size:.85rem!important}.settings-modal{padding:1.25rem;border-radius:20px;max-height:90vh}.settings-header{margin-bottom:1rem;padding-bottom:.75rem}.settings-header h2{font-size:1.3rem}.close-btn{width:38px;height:38px;font-size:1.2rem}.settings-content{gap:1.25rem}.setting-label{font-size:1rem}.theme-options{grid-template-columns:repeat(2,1fr);gap:.5rem}.theme-btn{padding:.75rem}.theme-preview span{width:18px;height:18px}.theme-name{font-size:.8rem}.bg-options{grid-template-columns:repeat(2,1fr);gap:.4rem}.bg-btn{padding:.6rem;font-size:.8rem}.apply-btn{margin-top:1rem;padding:.875rem!important;font-size:1rem!important}}@media(max-width:360px){.logo h1{font-size:1.2rem}.logo-icon{font-size:1.5rem}.controls-panel{padding:.75rem}.theme-options{grid-template-columns:1fr}.bg-options{grid-template-columns:repeat(2,1fr)}}@media(max-height:500px)and (orientation:landscape){.ui-overlay{flex-direction:row;align-items:flex-start;gap:1rem}.header{flex-direction:column;align-items:flex-start}.controls-panel{position:relative;max-height:calc(100vh - 2rem);width:260px}.face-controls{grid-template-columns:repeat(2,1fr)}}
