:root{
  --bg:#090911;
  --bg2:#151520;
  --panel:rgba(255,255,255,.075);
  --panel2:rgba(255,255,255,.12);
  --line:rgba(255,255,255,.14);
  --text:#fff;
  --muted:rgba(255,255,255,.72);
  --red:#ef1111;
  --red2:#ff4b42;
  --dark:#05060b;
  --cubie:clamp(46px,8.2vmin,72px);
  --gap:calc(var(--cubie) * .04);
  --sticker-radius:clamp(7px,1.3vmin,12px);
  --shadow:0 28px 90px rgba(0,0,0,.45);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
html,body{min-height:100%;margin:0;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 7% 8%,rgba(239,17,17,.38),transparent 31%),radial-gradient(circle at 92% 88%,rgba(255,75,66,.18),transparent 33%),linear-gradient(135deg,#080810,#161620 55%,#07070b);z-index:-3}
body:after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.11;background-image:linear-gradient(45deg,rgba(255,255,255,.08) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.07) 25%,transparent 25%);background-size:78px 78px;mask-image:radial-gradient(circle,#000,transparent 79%);z-index:-2}
button,a{font:inherit;color:inherit}button{border:0;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.hidden{display:none!important}
.app{min-height:100dvh;padding:clamp(12px,2.2vw,24px);display:flex;flex-direction:column;gap:18px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:68px;padding:12px 16px;border:1px solid var(--line);border-radius:26px;background:rgba(0,0,0,.28);box-shadow:var(--shadow);backdrop-filter:blur(14px)}.brand{width:min(230px,44vw);height:auto;filter:drop-shadow(0 12px 26px rgba(239,17,17,.22))}.back-home,.small-btn,.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,75,66,.45);background:rgba(255,255,255,.08);text-decoration:none;font-weight:950;box-shadow:0 14px 28px rgba(0,0,0,.2)}.icon-btn{min-width:48px;padding:0 13px}.icon-btn.active,.small-btn:hover,.back-home:hover{background:linear-gradient(135deg,var(--red2),var(--red));border-color:rgba(255,255,255,.28)}.top-actions{display:flex;gap:10px;align-items:center}
.intro{flex:1;display:grid;place-items:center}.intro-card{width:min(1120px,100%);padding:clamp(22px,4vw,52px);border:1px solid rgba(255,75,66,.32);border-radius:34px;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(239,17,17,.11));box-shadow:var(--shadow);text-align:center;position:relative;overflow:hidden}.intro-card:after{content:"";position:absolute;inset:0;background:linear-gradient(118deg,transparent 0 43%,rgba(255,255,255,.05) 43% 53%,transparent 53%);pointer-events:none}.intro-logo{width:min(310px,72vw);position:relative;z-index:1}.intro h1{margin:16px 0 8px;font-size:clamp(42px,7vw,86px);letter-spacing:-.065em;line-height:.94}.intro p{margin:0 auto 22px;max-width:720px;color:var(--muted);font-weight:650;font-size:clamp(15px,2vw,20px);line-height:1.55}.mode-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px 0}.mode-pill{min-height:44px;padding:0 16px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);font-weight:900}.mode-pill.active{background:linear-gradient(135deg,var(--red2),var(--red));box-shadow:0 12px 28px rgba(239,17,17,.28)}.level-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;max-width:820px;margin:0 auto}.level-btn{min-height:74px;border-radius:20px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.04));box-shadow:0 12px 30px rgba(0,0,0,.22);font-weight:1000;font-size:24px;position:relative;overflow:hidden}.level-btn:after{content:attr(data-mode);position:absolute;left:9px;bottom:7px;font-size:10px;letter-spacing:.08em;color:rgba(255,255,255,.64);text-transform:uppercase}.level-btn.easy{border-color:rgba(51,214,121,.4)}.level-btn.medium{border-color:rgba(255,190,80,.5)}.level-btn.hard{border-color:rgba(239,17,17,.65);background:linear-gradient(135deg,rgba(239,17,17,.38),rgba(0,0,0,.18))}.level-btn:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(239,17,17,.16)}
.game{flex:1;display:flex}.game-stage{width:100%;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);grid-template-rows:auto 1fr;gap:16px}.hud{grid-column:1 / -1;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.metric{min-width:112px;padding:10px 13px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.075);text-align:center}.metric span{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.metric strong{display:block;font-size:22px}.cube-panel{position:relative;min-height:min(690px,calc(100dvh - 150px));border-radius:34px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:linear-gradient(#fff 0%,#fff 68%,#dfe5eb 100%);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#080f1a}.timer-big{position:absolute;top:clamp(16px,4vw,34px);left:0;right:0;text-align:center;font-size:clamp(46px,8vw,86px);line-height:1;font-weight:1000;letter-spacing:-.08em;color:#07101b;text-shadow:0 2px 0 rgba(255,255,255,.5);z-index:4}.scene{width:min(96vw,760px);height:min(86vw,620px);max-height:calc(100dvh - 220px);display:grid;place-items:center;perspective:1100px;touch-action:none;cursor:grab;user-select:none}.scene.dragging{cursor:grabbing}.cube{position:relative;width:calc(var(--cubie) * 3);height:calc(var(--cubie) * 3);transform-style:preserve-3d;transition:transform .08s linear;will-change:transform}.cubie{position:absolute;left:calc(var(--cubie));top:calc(var(--cubie));width:var(--cubie);height:var(--cubie);transform-style:preserve-3d;transition:transform .24s cubic-bezier(.2,.75,.2,1);will-change:transform}.cubie.fast{transition:none}.face{position:absolute;inset:var(--gap);border-radius:var(--sticker-radius);border:clamp(3px,.8vmin,6px) solid #050a12;box-shadow:inset 0 -8px 0 rgba(0,0,0,.14),inset 0 8px 0 rgba(255,255,255,.18);backface-visibility:hidden;pointer-events:auto}.face:after{content:"";position:absolute;inset:12%;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 52%);opacity:.8}.front{transform:translateZ(calc(var(--cubie) / 2))}.back{transform:rotateY(180deg) translateZ(calc(var(--cubie) / 2))}.right{transform:rotateY(90deg) translateZ(calc(var(--cubie) / 2))}.left{transform:rotateY(-90deg) translateZ(calc(var(--cubie) / 2))}.top{transform:rotateX(90deg) translateZ(calc(var(--cubie) / 2))}.bottom{transform:rotateX(-90deg) translateZ(calc(var(--cubie) / 2))}.color-core{background:#050a12}.color-white{background:#fbf3ff}.color-yellow{background:#ffe834}.color-red{background:#e22f1e}.color-orange{background:#ff8d0a}.color-green{background:#7ed128}.color-blue{background:#43abc5}.turn-glow .face{filter:saturate(1.15) brightness(1.05)}.drag-tip{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);width:max-content;max-width:90%;padding:10px 14px;border-radius:999px;background:rgba(0,0,0,.08);color:#18202b;font-weight:850;font-size:13px;text-align:center}
.control-panel{border-radius:30px;border:1px solid var(--line);background:rgba(0,0,0,.34);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:13px;min-width:0}.status-card,.guide{padding:14px;border-radius:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:var(--muted);font-weight:700;line-height:1.4}.guide-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.guide strong{display:block;color:#fff;font-size:18px}.guide span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#ffb0b0;font-weight:950}.guide p{margin:10px 0 0}.guide.locked{background:rgba(239,17,17,.08);border-color:rgba(239,17,17,.35)}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.action-grid button,.move-btn{min-height:48px;border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.14);font-weight:950}.action-grid button:hover,.move-btn:hover{background:linear-gradient(135deg,var(--red2),var(--red))}.action-grid button.active,#reverseBtn.active{background:linear-gradient(135deg,var(--red2),var(--red));box-shadow:0 12px 24px rgba(239,17,17,.25)}.move-title{font-weight:1000;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:12px}.move-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.move-btn{font-size:20px}.modal{position:fixed;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.65);backdrop-filter:blur(10px);z-index:20;padding:18px}.modal-card{width:min(430px,100%);padding:28px;border-radius:30px;background:#11111a;border:1px solid rgba(255,75,66,.35);box-shadow:0 30px 90px rgba(0,0,0,.55);text-align:center}.modal-card img{width:220px;max-width:80%}.modal-card h2{font-size:36px;margin:14px 0 6px}.modal-card p{color:var(--muted);font-weight:700}.modal-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.modal-actions button{min-height:46px;padding:0 18px;border-radius:999px;background:linear-gradient(135deg,var(--red2),var(--red));font-weight:950}
@media(max-width:1100px){.game-stage{grid-template-columns:1fr}.control-panel{order:3}.cube-panel{min-height:540px}.scene{height:min(78vw,560px)}}
@media(max-width:720px){:root{--cubie:clamp(38px,14.4vw,58px)}.app{padding:10px}.topbar{border-radius:20px;min-height:58px}.brand{width:min(180px,42vw)}.back-home{min-height:40px;padding:0 12px;font-size:13px}.icon-btn{min-width:42px;min-height:40px;padding:0 10px;font-size:13px}.intro-card{border-radius:24px;padding:18px}.level-grid{grid-template-columns:repeat(3,1fr);gap:10px}.level-btn{min-height:64px;font-size:22px}.game-stage{gap:10px}.metric{min-width:82px;padding:8px}.metric strong{font-size:18px}.cube-panel{min-height:calc(100dvh - 242px);border-radius:22px}.timer-big{font-size:clamp(38px,14vw,64px);top:15px}.scene{height:calc(100dvh - 310px);min-height:320px;width:100%;max-height:none}.drag-tip{font-size:11px;bottom:10px}.control-panel{border-radius:22px;padding:12px}.action-grid{grid-template-columns:repeat(3,1fr)}.action-grid button{min-height:44px;font-size:13px}.move-grid{grid-template-columns:repeat(6,1fr);gap:8px}.move-btn{min-height:42px;font-size:16px}.guide-head{flex-direction:column;gap:2px}.hud{gap:6px}.small-btn{min-height:38px;padding:0 12px}}
@media(max-width:420px){:root{--cubie:clamp(34px,15vw,52px)}.topbar{gap:6px}.brand{width:142px}.back-home{font-size:12px}.icon-btn{font-size:12px;min-width:38px}.cube-panel{min-height:calc(100dvh - 250px)}.scene{min-height:290px;height:calc(100dvh - 330px)}.action-grid{grid-template-columns:repeat(2,1fr)}.move-grid{grid-template-columns:repeat(4,1fr)}.intro h1{font-size:42px}}
@media(orientation:landscape) and (max-height:560px){:root{--cubie:clamp(32px,12vh,52px)}.app{padding:8px}.topbar{min-height:48px;padding:7px 10px}.brand{width:150px}.game-stage{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);grid-template-rows:auto 1fr}.hud{grid-column:1 / -1}.cube-panel{min-height:calc(100dvh - 82px)}.scene{height:calc(100dvh - 150px);min-height:260px}.timer-big{font-size:42px;top:10px}.control-panel{max-height:calc(100dvh - 82px);overflow:auto}.move-grid{grid-template-columns:repeat(6,1fr)}}
@media(prefers-reduced-motion:reduce){.cubie,.cube,.level-btn{transition:none!important}}

/* Middle-slice update */
.move-btn.slice-move{background:linear-gradient(135deg,rgba(255,75,66,.32),rgba(255,255,255,.08));border-color:rgba(255,75,66,.52)}
.move-btn.slice-move:after{content:'slice';display:block;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.65);line-height:1}
@media(max-width:720px){.action-grid{grid-template-columns:repeat(2,1fr)}.move-grid{grid-template-columns:repeat(6,1fr)}.move-btn{padding:2px 0}}
@media(max-width:420px){.move-grid{grid-template-columns:repeat(3,1fr)}.move-btn{min-height:46px}}


/* Direct sticker touch update */
.face{cursor:pointer}
.face:hover{filter:brightness(1.08) saturate(1.12)}
.cube-panel:before{content:"";position:absolute;left:4%;right:4%;bottom:8%;height:25%;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.18),transparent 68%);filter:blur(12px);z-index:0;pointer-events:none}
.scene{z-index:2}
.control-panel{background:linear-gradient(145deg,rgba(0,0,0,.42),rgba(239,17,17,.11));}
.status-card{background:linear-gradient(135deg,rgba(255,75,66,.18),rgba(255,255,255,.06));color:#fff}
@media(min-width:1200px){.game-stage{grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr)}.cube-panel{min-height:calc(100dvh - 138px)}.control-panel{max-height:calc(100dvh - 138px);overflow:auto}.scene{height:calc(100dvh - 220px);max-height:720px}}
@media(max-width:720px){.cube-panel{min-height:calc(100dvh - 224px)}.scene{height:calc(100dvh - 292px)}}


/* ANROZIX teaching labels + improved attractive layout */
.start-mixed{min-height:54px;padding:0 28px;border-radius:999px;background:linear-gradient(135deg,var(--red2),var(--red));border:1px solid rgba(255,255,255,.22);font-weight:1000;letter-spacing:.02em;box-shadow:0 18px 42px rgba(239,17,17,.32);margin:4px auto 10px;display:inline-flex;align-items:center;justify-content:center;gap:10px}.start-mixed:hover{transform:translateY(-2px);filter:brightness(1.08)}
.face .sticker-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;min-width:42%;height:42%;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:2px;padding:2px 4px;background:rgba(3,7,13,.78);color:#fff;border:1px solid rgba(255,255,255,.75);box-shadow:0 5px 12px rgba(0,0,0,.34);font-size:clamp(9px,1.55vmin,13px);font-weight:1000;line-height:1;letter-spacing:-.03em;text-shadow:0 1px 2px rgba(0,0,0,.75);pointer-events:none}.face .sticker-label em{font-style:normal;opacity:.95;color:#ffe9e9}.face .sticker-label strong{font-size:1.06em}.face.label-slice .sticker-label{background:rgba(239,17,17,.86);border-color:rgba(255,255,255,.86)}.face.label-outer .sticker-label{background:rgba(4,10,20,.82)}.labels-off .sticker-label{display:none!important}.move-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:106px;overflow:auto;padding:8px;border-radius:16px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1)}.legend-chip{min-height:28px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;gap:5px;font-weight:900;font-size:12px}.legend-chip b{display:inline-grid;place-items:center;min-width:19px;height:19px;border-radius:50%;background:linear-gradient(135deg,var(--red2),var(--red));font-size:10px}.legend-chip.slice{border-color:rgba(255,75,66,.55);background:rgba(239,17,17,.16)}
@media(min-width:1180px){.game-stage{grid-template-columns:minmax(0,1.48fr) minmax(330px,.52fr);gap:14px}.control-panel{gap:10px}.status-card,.guide{padding:12px}.action-grid button,.move-btn{min-height:44px}.move-grid{gap:8px}.cube-panel{min-height:calc(100dvh - 126px)}.scene{height:calc(100dvh - 190px);max-height:760px}.drag-tip{bottom:12px}.move-legend{max-height:94px}}
@media(max-width:720px){.start-mixed{width:100%;min-height:50px}.move-legend{grid-template-columns:repeat(2,minmax(0,1fr));max-height:90px}.legend-chip{font-size:11px}.face .sticker-label{min-width:46%;height:46%;font-size:clamp(8px,2.7vw,11px)}}
@media(orientation:landscape) and (max-height:560px){.move-legend{grid-template-columns:repeat(3,1fr);max-height:70px}.face .sticker-label{font-size:9px}.start-mixed{min-height:42px}}
.move-btn{display:flex;align-items:center;justify-content:center;gap:7px;line-height:1}.move-btn .move-num{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);font-size:11px;color:#fff}.move-btn.slice-move .move-num{background:linear-gradient(135deg,var(--red2),var(--red))}


/* Teaching build polish */
.guide{background:linear-gradient(135deg,rgba(255,75,66,.16),rgba(255,255,255,.075));}
.hint-pulse{animation:hintPulse .75s ease 1;}
@keyframes hintPulse{0%{box-shadow:0 0 0 rgba(239,17,17,0)}45%{box-shadow:0 0 0 8px rgba(239,17,17,.18)}100%{box-shadow:0 0 0 rgba(239,17,17,0)}}
@media(min-width:1180px){.move-legend{max-height:78px}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.move-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.drag-tip{position:static;transform:none;margin:0 auto 10px;width:calc(100% - 20px);font-size:11px;border-radius:16px}.cube-panel{gap:4px}.control-panel{gap:9px}.move-title{font-size:11px}.move-legend{display:none}.status-card,.guide{padding:11px}.guide p{margin-top:6px}}
@media(max-width:420px){.hud .metric:nth-of-type(2){display:none}.move-grid{grid-template-columns:repeat(3,1fr)}}
