:root{--cube-size: clamp(160px, 40vmin, 320px);--cubito-size: calc(var(--cube-size) / 3);--gap: 1px;--cubie-radius: calc(var(--cubito-size) * .15);--sticker-radius: calc(var(--cubito-size) * .1);--sticker-size: 88%;--color-white: #f0f0f0;--color-yellow: #ffd500;--color-red: #c41e3a;--color-orange: #ff5800;--color-blue: #0051ba;--color-green: #009b48;--plastic-color: #0c0c0c}@media(max-width:600px){:root{--cube-size: 60vmin}}.rotation-group{position:absolute;width:100%;height:100%;transform-style:preserve-3d;pointer-events:none}.rubik-scene[data-astro-cid-nm5zmkyn]{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-height:200px;perspective:calc(var(--cube-size) * 3.5);perspective-origin:50% 50%;overflow:hidden}.rubik-cube[data-astro-cid-nm5zmkyn]{width:var(--cube-size);height:var(--cube-size);position:relative;transform-style:preserve-3d;transform:rotateX(var(--rx, -25deg)) rotateY(var(--ry, -35deg));transition:transform .15s ease-out}.cubito[data-astro-cid-nm5zmkyn]{position:absolute;width:var(--cubito-size);height:var(--cubito-size);transform-style:preserve-3d;transform:translate3d(calc(var(--tx) * (var(--cubito-size) + var(--gap))),calc(var(--ty) * (var(--cubito-size) + var(--gap))),calc(var(--tz) * (var(--cubito-size) + var(--gap))));left:calc(50% - var(--cubito-size) / 2);top:calc(50% - var(--cubito-size) / 2)}.face[data-astro-cid-nm5zmkyn]{position:absolute;width:var(--cubito-size);height:var(--cubito-size);left:0;top:0;background-color:var(--plastic-color);border-radius:var(--cubie-radius);box-sizing:border-box;backface-visibility:hidden;border:1px solid #1a1a1a;box-shadow:inset 0 0 10px #000c}.face[data-astro-cid-nm5zmkyn]:before{content:"";position:absolute;width:var(--sticker-size);height:var(--sticker-size);left:calc((100% - var(--sticker-size)) / 2);top:calc((100% - var(--sticker-size)) / 2);border-radius:var(--sticker-radius);background:var(--sticker-color, #222);background-image:linear-gradient(135deg,#fff3,#0000001a);box-shadow:inset 1px 1px #fff3,inset -1px -1px #0000001a,0 0 2px #0000004d;transition:background-color .2s}.face[data-astro-cid-nm5zmkyn][data-color=white]{--sticker-color: var(--color-white)}.face[data-astro-cid-nm5zmkyn][data-color=yellow]{--sticker-color: var(--color-yellow)}.face[data-astro-cid-nm5zmkyn][data-color=red]{--sticker-color: var(--color-red)}.face[data-astro-cid-nm5zmkyn][data-color=orange]{--sticker-color: var(--color-orange)}.face[data-astro-cid-nm5zmkyn][data-color=blue]{--sticker-color: var(--color-blue)}.face[data-astro-cid-nm5zmkyn][data-color=green]{--sticker-color: var(--color-green)}.face[data-astro-cid-nm5zmkyn][data-color=inner]:before{background:#1a1a1a;box-shadow:inset 0 0 5px #00000080;opacity:.5}.face[data-astro-cid-nm5zmkyn].front{transform:translateZ(calc(var(--cubito-size) / 2))}.face[data-astro-cid-nm5zmkyn].back{transform:translateZ(calc(var(--cubito-size) / -2)) rotateY(180deg)}.face[data-astro-cid-nm5zmkyn].right{transform:translate(calc(var(--cubito-size) / 2)) rotateY(90deg)}.face[data-astro-cid-nm5zmkyn].left{transform:translate(calc(var(--cubito-size) / -2)) rotateY(-90deg)}.face[data-astro-cid-nm5zmkyn].top{transform:translateY(calc(var(--cubito-size) / -2)) rotateX(90deg)}.face[data-astro-cid-nm5zmkyn].bottom{transform:translateY(calc(var(--cubito-size) / 2)) rotateX(-90deg)}.rubik-cube[data-astro-cid-nm5zmkyn]:before{content:"";position:absolute;width:200%;height:200%;left:-50%;top:-50%;background:radial-gradient(ellipse at 30% 30%,rgba(255,255,255,.03) 0%,transparent 50%);pointer-events:none;transform-style:preserve-3d}.scanner-container[data-astro-cid-n353kcfc]{position:absolute;inset:0;background:var(--bg-primary);display:flex;flex-direction:column;align-items:center;padding:clamp(15px,3vh,30px) 24px calc(15px + env(safe-area-inset-bottom));gap:clamp(10px,2.5vh,32px);overflow:hidden;justify-content:space-between}.loading-overlay[data-astro-cid-n353kcfc]{position:absolute;inset:0;background:var(--bg-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;z-index:200}.spinner[data-astro-cid-n353kcfc]{width:40px;height:40px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin .8s cubic-bezier(.4,0,.2,1) infinite}.loading-overlay[data-astro-cid-n353kcfc] p[data-astro-cid-n353kcfc]{color:var(--text-muted);font-size:14px;letter-spacing:.05em}.video-wrapper[data-astro-cid-n353kcfc]{position:relative;width:min(80vw,35vh,320px);aspect-ratio:1 / 1;border-radius:24px;overflow:hidden;background:#000;border:1px solid var(--glass-border);box-shadow:0 20px 50px #0006;flex-shrink:0}#camera-video[data-astro-cid-n353kcfc]{width:100%;height:100%;object-fit:cover}#overlay-canvas[data-astro-cid-n353kcfc]{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.phase-badge[data-astro-cid-n353kcfc]{display:inline-block;padding:4px 12px;border-radius:30px;font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.phase-badge[data-astro-cid-n353kcfc].calibration{background:#ffd7001a;color:gold;border:1px solid rgba(255,215,0,.2)}.phase-badge[data-astro-cid-n353kcfc].scanning{background:#38bdf81a;color:#38bdf8;border:1px solid rgba(56,189,248,.2)}.calibration-panel[data-astro-cid-n353kcfc]{display:flex;flex-direction:column;align-items:center;gap:clamp(10px,2vh,20px);width:100%;max-width:340px;flex:1;min-height:0;justify-content:center}.cal-header[data-astro-cid-n353kcfc]{text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.cal-progress[data-astro-cid-n353kcfc]{font-size:11px;color:var(--text-muted);font-weight:500}.cal-color-name[data-astro-cid-n353kcfc]{font-size:clamp(20px,4vh,26px);font-weight:700;margin:0;letter-spacing:-.02em}.cal-instruction[data-astro-cid-n353kcfc]{font-size:clamp(11px,1.5vh,13px);color:var(--text-muted);margin:0}.cal-instruction[data-astro-cid-n353kcfc] strong[data-astro-cid-n353kcfc]{color:var(--text-main)}.cal-preview[data-astro-cid-n353kcfc]{display:flex;align-items:center;gap:20px;padding:clamp(10px,1.5vh,16px);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:20px}.cal-target[data-astro-cid-n353kcfc],.cal-detected[data-astro-cid-n353kcfc]{width:clamp(36px,8vh,48px);height:clamp(36px,8vh,48px);border-radius:10px}.cal-target[data-astro-cid-n353kcfc]{border:2px solid rgba(255,255,255,.4)}.cal-target[data-astro-cid-n353kcfc][data-color=W]{background:#f0f0f0}.cal-target[data-astro-cid-n353kcfc][data-color=Y]{background:#ffd500}.cal-target[data-astro-cid-n353kcfc][data-color=R]{background:#c41e3a}.cal-target[data-astro-cid-n353kcfc][data-color=O]{background:#ff5800}.cal-target[data-astro-cid-n353kcfc][data-color=B]{background:#0051ba}.cal-target[data-astro-cid-n353kcfc][data-color=G]{background:#009b48}.cal-detected[data-astro-cid-n353kcfc]{border:1px solid var(--glass-border)}.cal-colors-row[data-astro-cid-n353kcfc]{display:flex;gap:8px}.cal-dot-wrapper[data-astro-cid-n353kcfc]{opacity:.2;transition:all .3s}.cal-dot-wrapper[data-astro-cid-n353kcfc].current{opacity:1;transform:scale(1.1)}.cal-dot-wrapper[data-astro-cid-n353kcfc].done{opacity:.8}.cal-dot[data-astro-cid-n353kcfc]{width:10px;height:10px;border-radius:50%}.cal-dot-wrapper[data-astro-cid-n353kcfc][data-color=W] .cal-dot[data-astro-cid-n353kcfc]{background:#fff}.cal-dot-wrapper[data-astro-cid-n353kcfc][data-color=Y] .cal-dot[data-astro-cid-n353kcfc]{background:#ffd500}.cal-dot-wrapper[data-astro-cid-n353kcfc][data-color=R] .cal-dot[data-astro-cid-n353kcfc]{background:#c41e3a}.cal-dot-wrapper[data-astro-cid-n353kcfc][data-color=O] .cal-dot[data-astro-cid-n353kcfc]{background:#ff5800}.cal-dot-wrapper[data-astro-cid-n353kcfc][data-color=B] .cal-dot[data-astro-cid-n353kcfc]{background:#0051ba}.cal-dot-wrapper[data-astro-cid-n353kcfc][data-color=G] .cal-dot[data-astro-cid-n353kcfc]{background:#009b48}.cal-controls[data-astro-cid-n353kcfc]{display:flex;gap:12px;width:100%;flex-shrink:0}.cal-controls[data-astro-cid-n353kcfc] .btn[data-astro-cid-n353kcfc]{flex:1}.scan-panel[data-astro-cid-n353kcfc]{display:flex;flex-direction:column;align-items:center;gap:clamp(10px,2vh,20px);width:100%;max-width:340px;flex:1;min-height:0;justify-content:center}.scan-header[data-astro-cid-n353kcfc]{text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.face-info[data-astro-cid-n353kcfc]{display:flex;align-items:center;gap:12px}.face-number[data-astro-cid-n353kcfc]{font-size:11px;color:var(--text-muted);font-weight:500}.face-name[data-astro-cid-n353kcfc]{font-size:clamp(18px,3.5vh,22px);font-weight:700;letter-spacing:-.02em}.instruction[data-astro-cid-n353kcfc]{color:#38bdf8;font-size:clamp(11px,1.5vh,13px);font-weight:500}.color-preview[data-astro-cid-n353kcfc]{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;width:clamp(80px,18vh,100px);aspect-ratio:1;padding:6px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px}.preview-cell[data-astro-cid-n353kcfc]{background:#ffffff0d;border-radius:4px;transition:background-color .2s}.preview-cell[data-astro-cid-n353kcfc].center{border:1px solid rgba(56,189,248,.5)}.center-info[data-astro-cid-n353kcfc]{display:flex;align-items:center;gap:10px;padding:6px 14px;background:#38bdf80d;border:1px solid rgba(56,189,248,.1);border-radius:30px}.center-label[data-astro-cid-n353kcfc]{font-size:9px;color:var(--text-muted);font-weight:600;text-transform:uppercase}.center-color[data-astro-cid-n353kcfc]{width:14px;height:14px;border-radius:50%;background:#333}.center-name[data-astro-cid-n353kcfc]{font-size:12px;font-weight:600}.scanner-controls[data-astro-cid-n353kcfc]{display:flex;gap:12px;width:100%;flex-shrink:0}.scanner-controls[data-astro-cid-n353kcfc] .btn[data-astro-cid-n353kcfc]{flex:1}.error-message[data-astro-cid-n353kcfc]{padding:8px 16px;background:#f443361a;border:1px solid rgba(244,67,54,.2);border-radius:var(--radius-md);color:#f87171;font-size:12px;text-align:center;width:100%}.progress-container[data-astro-cid-n353kcfc]{width:100%;max-width:320px;display:flex;flex-direction:column;gap:6px;margin-top:0;flex-shrink:0}.progress-bar[data-astro-cid-n353kcfc]{width:100%;height:4px;background:#ffffff0d;border-radius:2px;overflow:hidden}.progress-fill[data-astro-cid-n353kcfc]{height:100%;background:var(--accent);transition:width .4s cubic-bezier(.16,1,.3,1);width:0%}.progress-fill[data-astro-cid-n353kcfc].scan-mode{background:#38bdf8}.hidden[data-astro-cid-n353kcfc]{display:none!important}.solution-player[data-astro-cid-jmsq5vns]{background:#050505cc;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--glass-border);width:100%;display:flex;flex-direction:column;padding-bottom:max(20px,env(safe-area-inset-bottom))}.progress-bar[data-astro-cid-jmsq5vns]{width:100%;height:2px;background:#ffffff0d}.progress-fill[data-astro-cid-jmsq5vns]{height:100%;background:var(--accent);width:0%;transition:width .3s ease}.player-row[data-astro-cid-jmsq5vns]{display:flex;align-items:center;justify-content:space-between;padding:clamp(12px,2.5vh,20px) 24px;gap:12px}.controls-group[data-astro-cid-jmsq5vns]{display:flex;align-items:center;gap:clamp(4px,1vw,8px);flex-shrink:0}.divider[data-astro-cid-jmsq5vns]{width:1px;height:24px;background:var(--glass-border);margin:0 2px;flex-shrink:0}.btn-mini[data-astro-cid-jmsq5vns]{width:clamp(36px,8vw,44px);height:clamp(36px,8vw,44px);border-radius:50%;border:1px solid var(--glass-border);background:var(--glass-bg);color:var(--text-main);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);flex-shrink:0}.btn-mini[data-astro-cid-jmsq5vns] svg[data-astro-cid-jmsq5vns]{width:clamp(14px,3vw,18px);height:clamp(14px,3vw,18px)}.btn-mini[data-astro-cid-jmsq5vns]:hover{background:#ffffff14;border-color:#fff3}.btn-mini[data-astro-cid-jmsq5vns]:active{transform:scale(.92)}.btn-mini[data-astro-cid-jmsq5vns].main{background:var(--text-main);color:var(--bg-primary);border:none}.btn-mini[data-astro-cid-jmsq5vns].main:hover{background:#e0e0e0;transform:scale(1.05)}.btn-mini[data-astro-cid-jmsq5vns].main:active{transform:scale(.95)}.move-display[data-astro-cid-jmsq5vns]{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-width:0}.move-text[data-astro-cid-jmsq5vns]{font-size:clamp(20px,6vw,32px);font-weight:700;color:var(--text-main);font-family:Inter,monospace;letter-spacing:-.05em;line-height:1;white-space:nowrap}.counter-info[data-astro-cid-jmsq5vns]{font-size:clamp(10px,2vw,12px);font-weight:500;color:var(--text-muted);min-width:clamp(45px,10vw,60px);text-align:right;letter-spacing:.05em;flex-shrink:0}.hidden[data-astro-cid-jmsq5vns]{display:none}:root{--bg-primary: #050505;--bg-secondary: #0f0f12;--accent: #ffffff;--text-main: #ffffff;--text-muted: #88888e;--glass-bg: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .08);--radius-lg: 20px;--radius-md: 12px;--transition: all .4s cubic-bezier(.16, 1, .3, 1)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg-primary);color:var(--text-main);font-family:Inter,system-ui,-apple-system,sans-serif}.screen{position:fixed;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:var(--transition);z-index:1;display:flex;flex-direction:column;overflow:hidden}.screen.active{opacity:1;visibility:visible;pointer-events:auto;z-index:10}.app-header{position:relative;width:100%;padding:clamp(20px,4vh,40px) 0;text-align:center;z-index:100;pointer-events:none;flex-shrink:0}.app-header h1{font-size:clamp(12px,2vh,14px);font-weight:700;letter-spacing:.4em;color:var(--text-main);opacity:.9}.app-header h1 .weight-light{font-weight:300;opacity:.6}.cube-container{flex:1;display:flex;align-items:center;justify-content:center;width:100%;position:relative;min-height:0}.main-actions{display:flex;flex-direction:column;gap:clamp(8px,1.5vh,12px);width:100%;max-width:340px;padding:0 24px calc(20px + env(safe-area-inset-bottom));margin:0 auto;z-index:100;flex-shrink:0}.main-actions.hidden{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:clamp(14px,2vh,18px) 30px;border:1px solid transparent;border-radius:var(--radius-lg);font-family:inherit;font-size:clamp(13px,1.8vh,15px);font-weight:600;cursor:pointer;transition:var(--transition);user-select:none;width:100%}.btn:disabled{opacity:.2;cursor:not-allowed;filter:grayscale(1)}.btn:active:not(:disabled){transform:scale(.97)}.btn .icon{width:18px;height:18px}.btn-primary{background:var(--accent);color:var(--bg-primary);box-shadow:0 10px 30px #ffffff1a}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 15px 40px #ffffff26}.btn-ghost{background:var(--glass-bg);color:var(--text-main);border-color:var(--glass-border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.btn-ghost:hover:not(:disabled){background:#ffffff14;border-color:#fff3}#review-screen{background:var(--bg-secondary)}.review-container{flex:1;display:flex;flex-direction:column;align-items:center;padding:clamp(20px,4vh,60px) 24px calc(20px + env(safe-area-inset-bottom));gap:clamp(15px,3vh,40px);overflow:hidden;width:100%;max-width:600px;margin:0 auto;justify-content:space-between}.review-header{text-align:center;flex-shrink:0}.review-header h2{font-size:clamp(20px,4vh,24px);font-weight:600;margin-bottom:4px;letter-spacing:-.02em}.review-header p{color:var(--text-muted);font-size:clamp(12px,1.8vh,14px)}.cube-net{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);gap:clamp(4px,1vh,8px);width:100%;max-width:320px;max-height:40vh;aspect-ratio:4/3;flex-shrink:0;min-height:0}.net-face{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;background:#ffffff05;border-radius:6px}.net-sticker{aspect-ratio:1;border-radius:2px;cursor:pointer;transition:transform .2s}.net-sticker:hover{transform:scale(1.05);z-index:2}.validation-wrapper{width:100%;min-height:0;display:flex;justify-content:center;flex-shrink:0}.validation-status{padding:clamp(6px,1vh,10px) 20px;border-radius:30px;font-size:clamp(10px,1.5vh,13px);font-weight:500;text-align:center;transition:var(--transition)}.validation-status.valid{background:#34d3991a;color:#34d399;border:1px solid rgba(52,211,153,.2)}.validation-status.invalid{background:#f871711a;color:#f87171;border:1px solid rgba(248,113,113,.2)}.review-actions{display:flex;gap:12px;width:100%;margin-top:0;flex-shrink:0}.review-actions .btn{flex:1}.color-picker-overlay{position:fixed;inset:0;background:#000c;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.color-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:32px;background:#121215;border:1px solid var(--glass-border);border-radius:24px;box-shadow:0 20px 60px #00000080}.color-option{width:54px;height:54px;border-radius:12px;cursor:pointer;transition:transform .2s}.color-option:hover{transform:scale(1.1)}.hidden{display:none!important}.spinner-solve{width:24px;height:24px;border:3px solid rgba(0,0,0,.15);border-top-color:currentColor;border-radius:50%;animation:spin .6s cubic-bezier(.4,0,.2,1) infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}
