:root{--color-green-dark:#1b5e3b;--color-green-mid:#2d9d5e;--color-green-light:#45c97a;--color-green-pale:#a8e6c3;--color-green-bg:#d8f3dc;--color-green-glow:rgba(69,201,122,.4);--color-yellow:#fbbf24;--color-orange:#f97316;--color-coral:#ef4444;--color-blue:#3b82f6;--color-blue-light:#7dd3fc;--color-purple:#8b5cf6;--color-gray-dark:#374151;--color-gray-mid:#6b7280;--color-gray-light:#d1d5db;--color-gray-pale:#f3f4f6;--color-brown:#8b6f47;--color-brown-light:#c9a96e;--color-bg:#fefae0;--color-text:#111827;--color-text-light:#374151;--font-main:"Nunito",sans-serif;--game-padding:16px;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(0,0,0,.06);--shadow-sm:0 2px 8px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);--shadow-md:0 4px 16px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.06);--shadow-lg:0 12px 40px rgba(0,0,0,.12),0 4px 12px rgba(0,0,0,.08);--shadow-xl:0 20px 60px rgba(0,0,0,.15),0 8px 20px rgba(0,0,0,.1);--glow-green:0 0 20px rgba(69,201,122,.3),0 0 60px rgba(69,201,122,.1);--glow-yellow:0 0 20px rgba(251,191,36,.3),0 0 60px rgba(251,191,36,.1);--glow-blue:0 0 20px rgba(59,130,246,.3),0 0 60px rgba(59,130,246,.1);--glow-coral:0 0 20px rgba(239,68,68,.3);--glass-bg:hsla(0,0%,100%,.7);--glass-bg-strong:hsla(0,0%,100%,.88);--glass-border:hsla(0,0%,100%,.5);--glass-blur:blur(8px);--ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-out:cubic-bezier(.16,1,.3,1);--ease-smooth:cubic-bezier(.4,0,.2,1);--transition-fast:.18s var(--ease-smooth);--transition-normal:.3s var(--ease-out);--transition-slow:.5s var(--ease-out);--transition-spring:.4s var(--ease-spring)}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--color-bg);color:var(--color-text);font-family:var(--font-main);overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#__nuxt,body,html{height:100%;width:100%}button{border:none;cursor:pointer;font-family:var(--font-main);outline:none;-webkit-tap-highlight-color:transparent}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.7)}60%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes sparkle{0%,to{opacity:1;transform:scale(1) rotate(0)}50%{opacity:.6;transform:scale(1.4) rotate(10deg)}}@keyframes heatWave{0%,to{opacity:.6;transform:translateY(0) scaleX(1)}50%{opacity:.3;transform:translateY(-5px) scaleX(1.02)}}@keyframes glowPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.03)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes popIn{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.15)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--transition-normal) forwards}.animate-slide-up{animation:slideUp .4s var(--ease-out) forwards}.animate-scale-in{animation:scaleIn .4s var(--ease-spring) forwards}.animate-pop-in{animation:popIn .5s var(--ease-spring) forwards}.animate-bounce{animation:bounce 1.2s ease-in-out infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.glass{background:var(--glass-bg)}.glass,.glass-strong{backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}.glass-strong{background:var(--glass-bg-strong)}.game-container{display:flex;flex-direction:column;height:100%;width:100%}.game-container,.scene-container{overflow:hidden;position:relative}.scene-container{flex:1}.game-item{align-items:center;background:linear-gradient(145deg,#fff,#f1f5f9);border:2.5px solid #d1d5db;border-radius:14px;box-shadow:0 2px 4px #00000014,0 4px 8px #0000000a,inset 0 1px #fffc;cursor:grab;display:flex;flex-direction:column;gap:3px;justify-content:center;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;min-height:64px;min-width:64px;overflow:hidden;padding:8px 6px;position:relative;transition:box-shadow .15s ease,border-color .15s ease;will-change:transform}.game-item:after{background:linear-gradient(180deg,hsla(0,0%,100%,.4),transparent);border-radius:12px 12px 0 0;content:"";height:40%;left:0;pointer-events:none;position:absolute;right:0;top:0}.game-item:active{cursor:grabbing;transform:scale(.95)}.game-item--selected{background:linear-gradient(145deg,#fffbeb,#fef3c7);border-color:var(--color-yellow);box-shadow:0 0 0 3px #fbbf244d,0 4px 12px #fbbf2426,inset 0 1px #fffc;transform:scale(1.05)}.game-item--dragging{background:linear-gradient(145deg,#f5f3ff,#ede9fe);border-color:#8b5cf6;box-shadow:0 12px 28px #0003,0 4px 8px #0000001a;pointer-events:none;transform:scale(1.1) rotate(-2deg);transition:none;z-index:200}.game-item--used{filter:grayscale(.4);opacity:.25;pointer-events:none;transform:scale(.85)}.game-item--rejected{border-color:var(--color-coral);opacity:.15;pointer-events:none;text-decoration:line-through}.game-item__emoji{filter:drop-shadow(0 2px 3px rgba(0,0,0,.12));font-size:28px;line-height:1}.game-item__label{color:#374151;font-size:9px;font-weight:800;line-height:1.2;max-width:60px;text-align:center}.game-zone{align-items:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#ffffff80;border:2.5px dashed rgba(0,0,0,.2);border-radius:14px;display:flex;flex-direction:column;gap:3px;justify-content:center;min-height:65px;min-width:70px;padding:8px 6px;position:relative;transition:all .2s var(--ease-spring)}.game-zone--highlight{animation:pulse 1.2s ease-in-out infinite;background:#45c97a1f;border-color:var(--color-green-mid)}.game-zone--hover{animation:none;background:#fbbf2426;border-color:var(--color-yellow);box-shadow:0 0 16px #fbbf244d;transform:scale(1.08)}.game-zone--filled{animation:none;background:#45c97a1f;border:2.5px solid var(--color-green-mid);cursor:default}.game-zone--wrong{background:#f941441a;border-color:var(--color-coral)}.game-zone__icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));font-size:22px}.game-zone__label{color:#374151;font-size:9px;font-weight:800;line-height:1.2;text-align:center}.game-zone__placed{animation:scaleIn .4s var(--ease-spring);filter:drop-shadow(0 2px 4px rgba(0,0,0,.15));font-size:32px}.game-bin{align-items:center;background:var(--bin-color-light,#f1f5f9);border:2.5px solid var(--bin-color,#d1d5db);border-radius:12px;display:flex;flex-direction:column;gap:4px;min-width:64px;overflow:hidden;padding:8px 6px;position:relative;transition:all .25s var(--ease-spring)}.game-bin:before{background:var(--bin-color,#d1d5db);border-radius:10px 10px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.game-bin--highlight{animation:pulse 1.2s ease-in-out infinite;box-shadow:0 0 12px color-mix(in srgb,var(--bin-color,#d1d5db) 30%,transparent)}.game-bin--hover{animation:none;box-shadow:0 0 20px color-mix(in srgb,var(--bin-color,#d1d5db) 50%,transparent);transform:scale(1.08)}.game-bin__icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.15));font-size:20px}.game-bin__label{color:#374151;font-size:10px;font-weight:800}.game-bin__count{color:#6b7280;font-size:9px;font-weight:700}.game-tray{align-items:center;background:linear-gradient(180deg,#fffffffa,#f1f5f9fa);border-top:2px solid rgba(0,0,0,.06);display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:10px 12px;position:relative;z-index:10}.game-tray__title{color:#475569;font-size:11px;font-weight:800;margin-bottom:2px;text-align:center;width:100%}.game-card{border-radius:14px;box-shadow:0 2px 4px #00000014,0 4px 8px #0000000a;cursor:pointer;transition:transform .4s ease;-webkit-tap-highlight-color:transparent}.game-card:active{transform:scale(.95)}.game-card--matched{box-shadow:0 0 8px #45c97a66,0 0 16px #45c97a26}.game-feedback{animation:scaleIn .3s var(--ease-spring);border-radius:14px;box-shadow:0 4px 12px #00000026,0 8px 24px #0000000d;font-size:13px;font-weight:800;left:50%;line-height:1.4;max-width:290px;padding:12px 22px;position:absolute;text-align:center;top:45%;transform:translate(-50%,-50%);z-index:50}.game-feedback--ok{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.game-feedback--no{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}
