.vacuum-cabinet{--vd-purple:#6c4bf6;--vd-purple-deep:#4b2fd6;--vd-purple-soft:#ede8ff;--vd-pink:#ff6fa8;--vd-pink-deep:#e04b87;--vd-pink-soft:#ffe4ef;--vd-mint:#2fd3a8;--vd-mint-soft:#dff8f0;--vd-charcoal:#2b2740;--vd-charcoal-soft:#6a6486;--vd-white:#fff;--vd-radius:18px;--vd-shadow-soft:0 10px 30px #2b27401a, 0 2px 6px #2b27400f;--vd-shadow-lift:0 16px 40px #4c2fd638;--vd-font:ui-rounded, "SF Pro Rounded", "Avenir Next Rounded", "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color:var(--vd-charcoal);font-family:var(--vd-font)}.vacuum-cabinet .game-marquee h1{color:#b7a4ff}.vacuum-cabinet .game-marquee .sub{color:var(--vd-pink)}.vacuum-cabinet .vacuum-game{width:100%}.vacuum-cabinet .hud{align-items:center;gap:10px;margin-bottom:12px;display:flex}.vacuum-cabinet .stat{border-radius:var(--vd-radius);background:var(--vd-white);min-width:84px;box-shadow:var(--vd-shadow-soft);padding:9px 16px;line-height:1.15}.vacuum-cabinet .stat .label{color:var(--vd-charcoal-soft);letter-spacing:.09em;text-transform:uppercase;font-size:11px;font-weight:700;display:block}.vacuum-cabinet .stat .value{color:var(--vd-charcoal);font-variant-numeric:tabular-nums;font-size:24px;font-weight:800;display:block}.vacuum-cabinet .stat.score .value{color:var(--vd-purple)}.vacuum-cabinet .stat.combo{background:linear-gradient(140deg, var(--vd-mint) 0%, #23bc95 100%);opacity:0;transition:transform .18s cubic-bezier(.34,1.7,.5,1),opacity .18s;transform:scale(.86)}.vacuum-cabinet .stat.combo.on{opacity:1;transform:scale(1)}.vacuum-cabinet .stat.combo .label{color:#ffffffd9}.vacuum-cabinet .stat.combo .value{color:var(--vd-white)}.vacuum-cabinet .spacer{flex:1}.vacuum-cabinet .icon-btn{background:var(--vd-white);width:48px;height:48px;box-shadow:var(--vd-shadow-soft);cursor:pointer;border:none;border-radius:50%;place-items:center;padding:0;transition:transform .16s cubic-bezier(.34,1.7,.5,1),box-shadow .16s;display:grid}.vacuum-cabinet .icon-btn:hover{box-shadow:var(--vd-shadow-lift);transform:translateY(-2px)scale(1.05)}.vacuum-cabinet .icon-btn:active{transform:scale(.94)}.vacuum-cabinet .icon-btn:focus-visible{outline:3px solid var(--vd-purple);outline-offset:3px}.vacuum-cabinet .icon-btn svg{width:20px;height:20px;fill:var(--vd-purple);display:block}.vacuum-cabinet .stage{aspect-ratio:8/5;width:100%;box-shadow:var(--vd-shadow-lift), 0 0 0 1px #4c2fd60f;touch-action:none;user-select:none;background:#f0e3d2;border-radius:26px;position:relative;overflow:hidden}.vacuum-cabinet .stage canvas{touch-action:none;width:100%;height:100%;display:block}.vacuum-cabinet .overlay{z-index:3;backdrop-filter:blur(7px);opacity:0;pointer-events:none;text-align:center;background:#2b27406b;place-items:center;padding:20px;transition:opacity .28s;display:grid;position:absolute;inset:0}.vacuum-cabinet .overlay.show{opacity:1;pointer-events:auto}.vacuum-cabinet .panel{background:var(--vd-white);border-radius:28px;width:100%;max-width:400px;padding:34px 38px 30px;transition:transform .34s cubic-bezier(.34,1.5,.5,1);transform:translateY(14px)scale(.95);box-shadow:0 24px 60px #2b27404d}.vacuum-cabinet .overlay.show .panel{transform:translateY(0)scale(1)}.vacuum-cabinet .panel h1{letter-spacing:-.02em;margin:0 0 6px;font-size:30px;font-weight:800}.vacuum-cabinet .panel p{color:var(--vd-charcoal-soft);margin:0 0 20px;font-size:15px;line-height:1.55}.vacuum-cabinet .final{gap:10px;margin-bottom:22px;display:flex}.vacuum-cabinet .final div{background:var(--vd-purple-soft);border-radius:16px;flex:1;padding:12px 8px}.vacuum-cabinet .final div:last-child{background:var(--vd-pink-soft)}.vacuum-cabinet .final span{color:var(--vd-charcoal-soft);letter-spacing:.09em;text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:700;display:block}.vacuum-cabinet .final strong{color:var(--vd-purple);font-variant-numeric:tabular-nums;font-size:30px;font-weight:800}.vacuum-cabinet .final div:last-child strong{color:var(--vd-pink-deep)}.vacuum-cabinet .btn{background:linear-gradient(140deg, var(--vd-purple) 0%, var(--vd-purple-deep) 100%);width:100%;color:var(--vd-white);cursor:pointer;font-family:var(--vd-font);border:none;border-radius:16px;padding:15px 30px;font-size:17px;font-weight:800;transition:transform .16s cubic-bezier(.34,1.7,.5,1),box-shadow .16s;box-shadow:0 8px 20px #4c2fd657}.vacuum-cabinet .btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px #4c2fd66b}.vacuum-cabinet .btn:active{transform:translateY(0)scale(.98)}.vacuum-cabinet .btn:focus-visible{outline:3px solid var(--vd-pink);outline-offset:3px}.vacuum-cabinet .keys{color:var(--vd-charcoal-soft);margin-top:18px;font-size:12.5px;line-height:1.7}.vacuum-cabinet .keys kbd{background:var(--vd-purple-soft);color:var(--vd-purple-deep);font-family:var(--vd-font);border-radius:6px;padding:2px 7px;font-size:12px;font-weight:700}.vacuum-cabinet .rules{background:var(--vd-white);box-shadow:var(--vd-shadow-soft);border-radius:22px;grid-template-columns:1.15fr 1fr 1fr;gap:18px;margin-top:14px;padding:16px 20px;display:grid}.vacuum-cabinet .rules section{min-width:0}.vacuum-cabinet .rules h2{color:var(--vd-charcoal-soft);letter-spacing:.11em;text-transform:uppercase;margin:0 0 8px;font-size:10.5px;font-weight:800}.vacuum-cabinet .golden{background:var(--vd-purple-soft);border-radius:14px;align-items:flex-start;gap:10px;padding:11px 13px;display:flex}.vacuum-cabinet .golden svg{flex:none;width:26px;height:26px;margin-top:1px}.vacuum-cabinet .golden p{color:var(--vd-purple-deep);margin:0;font-size:13.5px;font-weight:600;line-height:1.42}.vacuum-cabinet .golden p em{color:var(--vd-charcoal-soft);margin-top:2px;font-size:12px;font-style:normal;font-weight:500;display:block}.vacuum-cabinet .legend{flex-direction:column;gap:5px;display:flex}.vacuum-cabinet .legend div{color:var(--vd-charcoal-soft);align-items:center;gap:8px;font-size:12.5px;display:flex}.vacuum-cabinet .legend svg{flex:none;width:19px;height:19px}.vacuum-cabinet .legend b{color:var(--vd-charcoal);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:800}.vacuum-cabinet .avoid{color:var(--vd-charcoal-soft);flex-direction:column;gap:5px;font-size:12.5px;display:flex}.vacuum-cabinet .avoid div{align-items:center;gap:8px;display:flex}.vacuum-cabinet .avoid i{background:var(--vd-pink);border-radius:3px;flex:none;width:9px;height:9px}.vacuum-cabinet .avoid i.b2{background:var(--vd-purple)}.vacuum-cabinet .avoid i.b3{background:var(--vd-charcoal)}.vacuum-cabinet .avoid i.b4{background:var(--vd-mint);border-radius:50%}.vacuum-cabinet .clutter{margin-top:10px}.vacuum-cabinet .clutter span{color:var(--vd-charcoal-soft);letter-spacing:.11em;text-transform:uppercase;font-size:10.5px;font-weight:800}.vacuum-cabinet .dots{gap:5px;margin-top:6px;display:flex}.vacuum-cabinet .dots u{background:var(--vd-purple-soft);border-radius:3px;width:100%;height:6px;transition:background .35s}.vacuum-cabinet .dots u.on{background:var(--vd-pink)}.vacuum-cabinet .clutter em{min-height:1.3em;color:var(--vd-charcoal-soft);margin-top:6px;font-size:11.5px;font-style:normal;display:block}@media (width<=720px){.vacuum-cabinet .rules{grid-template-columns:1fr;gap:14px;padding:14px 16px}}@media (width<=620px){.vacuum-cabinet .panel{padding:26px 22px 22px}.vacuum-cabinet .panel h1{font-size:25px}.vacuum-cabinet .stat{min-width:0;padding:6px 11px}.vacuum-cabinet .stat .value{font-size:18px}.vacuum-cabinet .stat .label{letter-spacing:.06em;font-size:9px}.vacuum-cabinet .icon-btn{width:40px;height:40px}.vacuum-cabinet .hud{gap:7px;margin-bottom:9px}}
