.app{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.canvas{flex:1;width:100%!important;min-height:0;touch-action:none}.hud{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:calc(10px + env(safe-area-inset-top,0px)) 14px 8px;pointer-events:none;background:linear-gradient(180deg,rgba(18,18,31,.9) 0%,transparent 100%)}.stats{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.stat{display:flex;flex-direction:column;min-width:56px}.stat .label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;opacity:.55}.stat .value{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.stat.badge{border-radius:999px;padding:6px 12px;background:#ffffff1a;font-size:12px;font-weight:600;align-items:center;justify-content:center}.stat.badge.solved{background:#30d15840;color:#30d158}.actions{display:flex;gap:8px;pointer-events:auto}.actions button{border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#f5f5f7;border-radius:12px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.actions button.primary{background:#f4433659;border-color:#f4433699}.actions button:active{transform:scale(.97)}.controls{position:absolute;bottom:0;left:0;right:0;z-index:10;padding:8px 12px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(0deg,rgba(18,18,31,.95) 0%,transparent 100%);pointer-events:none}.hint-block{text-align:center;margin-bottom:10px}.hint-main{font-size:15px;font-weight:600;margin:0 0 4px;color:#f5f5f7}.hint-sub{font-size:12px;opacity:.5;margin:0}.advanced-toggle{display:block;margin:0 auto;pointer-events:auto;border:none;background:transparent;color:#fff6;font-size:11px;cursor:pointer;padding:4px 8px}.advanced-toggle:hover{color:#ffffffb3}.hint-advanced{text-align:center;font-size:11px;opacity:.45;margin:6px 0 0}.actions button.solve-btn{background:#30d15847;border-color:#30d1588c}.actions button.danger{background:#ff453a38;border-color:#ff453a73}.stat .value.small{font-size:14px}.solve-progress .value{color:#7ecbff}.solve-toast{position:absolute;top:calc(72px + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%);z-index:12;max-width:min(92vw,420px);padding:10px 14px;border-radius:12px;background:#ff453aeb;color:#fff;font-size:13px;font-weight:500;text-align:center;pointer-events:none;box-shadow:0 8px 24px #00000059}.actions button:disabled{opacity:.35;cursor:not-allowed}.actions .icon-btn{padding:8px 12px;font-size:18px;line-height:1}.actions .icon-btn.active{background:#7ecbff40;border-color:#7ecbff80}.app.bounce .canvas{animation:cube-bounce .4s ease-out}@keyframes cube-bounce{0%,to{transform:scale(1)}35%{transform:scale(.985)}65%{transform:scale(1.008)}}.keyboard-panel{pointer-events:auto;margin-top:10px;padding:12px;border-radius:16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}.slice-picker{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:10px}.slice-group{flex:1;min-width:88px;max-width:120px;border-radius:12px;padding:6px;background:#0003;opacity:.7}.slice-group.active{opacity:1;background:#7ecbff1f;border:1px solid rgba(126,203,255,.25)}.group-tab{width:100%;border:none;background:transparent;color:#f5f5f7;font-size:12px;font-weight:600;padding:4px 0 6px;cursor:pointer}.layer-buttons{display:flex;gap:4px}.layer-btn{flex:1;border:1px solid rgba(255,255,255,.15);background:#ffffff0f;color:#f5f5f7;border-radius:8px;padding:6px 0;font-size:11px;cursor:pointer}.layer-btn.selected{background:#7ecbff59;border-color:#7ecbff99}.slice-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.slice-label{font-size:13px}.slice-face{margin-left:6px;opacity:.45;font-size:11px}.rotate-buttons{display:flex;gap:6px}.rotate-buttons button{border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#f5f5f7;border-radius:10px;padding:6px 12px;font-size:12px;cursor:pointer}.key-legend{display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:center;font-size:10px;opacity:.45}.key-legend .wca-hint{width:100%;text-align:center;opacity:.7;margin-top:2px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden;touch-action:none;background:#12121f;color:#f5f5f7;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;-webkit-tap-highlight-color:transparent}
