:root{--bg-color: #08090f;--card-bg: rgba(13, 15, 28, .7);--border-color: rgba(0, 240, 255, .15);--border-glow: rgba(0, 240, 255, .3);--text-main: #f3f4f6;--text-muted: #9ca3af;--accent-cyan: #00f0ff;--accent-pink: #ff007f;--accent-green: #39ff14;--glow-2: 0 0 10px rgba(0, 240, 255, .5), inset 0 0 5px rgba(0, 240, 255, .3);--glow-4: 0 0 10px rgba(57, 255, 20, .5), inset 0 0 5px rgba(57, 255, 20, .3);--glow-8: 0 0 12px rgba(59, 130, 246, .6), inset 0 0 6px rgba(59, 130, 246, .3);--glow-16: 0 0 12px rgba(168, 85, 247, .6), inset 0 0 6px rgba(168, 85, 247, .3);--glow-32: 0 0 14px rgba(236, 72, 153, .7), inset 0 0 7px rgba(236, 72, 153, .3);--glow-64: 0 0 14px rgba(249, 115, 22, .7), inset 0 0 7px rgba(249, 115, 22, .3);--glow-128: 0 0 16px rgba(234, 179, 8, .8), inset 0 0 8px rgba(234, 179, 8, .4);--glow-256: 0 0 16px rgba(20, 184, 166, .8), inset 0 0 8px rgba(20, 184, 166, .4);--glow-512: 0 0 18px rgba(139, 92, 246, .9), inset 0 0 9px rgba(139, 92, 246, .4);--glow-1024: 0 0 20px rgba(239, 68, 68, .95), inset 0 0 10px rgba(239, 68, 68, .5);--glow-2048: 0 0 30px #00f0ff, 0 0 50px #ff007f, inset 0 0 15px rgba(255, 255, 255, .6)}*{margin:0;padding:0;box-sizing:border-box;user-select:none;-webkit-user-select:none;outline:none}body{font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-color);background-image:radial-gradient(at 0% 0%,rgba(0,240,255,.05) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(255,0,127,.05) 0px,transparent 50%);color:var(--text-main);min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px}.container{width:100%;max-width:480px;display:flex;flex-direction:column;gap:15px}.top-navigation{display:flex;justify-content:space-between;align-items:center;width:100%}.back-link{color:var(--text-muted);text-decoration:none;font-size:.95rem;font-weight:500;transition:all .2s;letter-spacing:-.01em}.back-link:hover{color:var(--accent-cyan);text-shadow:0 0 8px rgba(0,240,255,.4)}.icon-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-main);width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.1rem;display:flex;justify-content:center;align-items:center;transition:all .2s}.icon-btn:hover{background:#00f0ff1a;border-color:var(--accent-cyan);box-shadow:0 0 10px #00f0ff33;transform:scale(1.05)}.cyber-card{background:var(--card-bg);backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border-radius:24px;padding:24px;box-shadow:0 20px 50px #00000080,0 0 30px #00f0ff0d,inset 0 1px #ffffff1a;border:1px solid var(--border-color);text-align:center;display:flex;flex-direction:column;gap:20px;position:relative;overflow:hidden}.cyber-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent-cyan),var(--accent-pink))}.title{font-size:2.2rem;font-weight:800;letter-spacing:.05em;background:linear-gradient(135deg,#00f0ff,#ff007f);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 30px rgba(0,240,255,.2);margin-bottom:4px}.subtitle{font-size:.85rem;color:var(--text-muted);font-weight:400;letter-spacing:.02em}.score-container{display:flex;justify-content:space-between;gap:12px}.score-box{flex:1;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:10px;display:flex;flex-direction:column;gap:4px;position:relative;transition:all .3s}.score-box.highlight{border-color:#ff007f33}.score-box .label{font-size:.7rem;color:var(--text-muted);font-weight:600;letter-spacing:.1em}.score-box .value{font-family:Share Tech Mono,monospace;font-size:1.6rem;font-weight:700;color:var(--accent-cyan);text-shadow:0 0 10px rgba(0,240,255,.3)}.score-box.highlight .value{color:var(--accent-pink);text-shadow:0 0 10px rgba(255,0,127,.3)}.board-container{width:100%;aspect-ratio:1 / 1;background:#08090fe6;border:1px solid rgba(255,255,255,.05);border-radius:20px;padding:12px;position:relative;box-shadow:inset 0 0 20px #000c}.board{width:100%;height:100%;position:relative;--grid-gap: 12px;touch-action:none}.grid-cell{position:absolute;width:calc((100% - 3 * var(--grid-gap)) / 4);height:calc((100% - 3 * var(--grid-gap)) / 4);left:calc(var(--col) * (100% - 3 * var(--grid-gap)) / 4 + var(--col) * var(--grid-gap));top:calc(var(--row) * (100% - 3 * var(--grid-gap)) / 4 + var(--row) * var(--grid-gap));background:#ffffff04;border-radius:12px;border:1px dashed rgba(255,255,255,.04)}.tiles-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.tile{position:absolute;width:calc((100% - 3 * var(--grid-gap)) / 4);height:calc((100% - 3 * var(--grid-gap)) / 4);left:calc(var(--col) * (100% - 3 * var(--grid-gap)) / 4 + var(--col) * var(--grid-gap));top:calc(var(--row) * (100% - 3 * var(--grid-gap)) / 4 + var(--row) * var(--grid-gap));border-radius:12px;display:flex;justify-content:center;align-items:center;font-family:Share Tech Mono,monospace;font-weight:700;transition:top .1s cubic-bezier(.25,1,.5,1),left .1s cubic-bezier(.25,1,.5,1);z-index:2;touch-action:none}.tile-inner{width:100%;height:100%;border-radius:12px;display:flex;justify-content:center;align-items:center;font-size:1.8rem;border:1.5px solid transparent;transition:transform .1s ease-out}@media (max-width: 380px){.tile-inner{font-size:1.4rem}}.tile-2 .tile-inner{background:#00f0ff12;border-color:var(--accent-cyan);color:var(--accent-cyan);box-shadow:var(--glow-2)}.tile-4 .tile-inner{background:#39ff1412;border-color:var(--accent-green);color:var(--accent-green);box-shadow:var(--glow-4)}.tile-8 .tile-inner{background:#3b82f612;border-color:#3b82f6;color:#60a5fa;box-shadow:var(--glow-8)}.tile-16 .tile-inner{background:#a855f712;border-color:#a855f7;color:#c084fc;box-shadow:var(--glow-16)}.tile-32 .tile-inner{background:#ec489912;border-color:#ec4899;color:#f472b6;box-shadow:var(--glow-32)}.tile-64 .tile-inner{background:#f9731612;border-color:#f97316;color:#fb923c;box-shadow:var(--glow-64)}.tile-128 .tile-inner{background:#eab30812;border-color:#eab308;color:#facc15;box-shadow:var(--glow-128);font-size:1.6rem}.tile-256 .tile-inner{background:#14b8a612;border-color:#14b8a6;color:#2dd4bf;box-shadow:var(--glow-256);font-size:1.6rem}.tile-512 .tile-inner{background:#8b5cf612;border-color:#8b5cf6;color:#a78bfa;box-shadow:var(--glow-512);font-size:1.6rem}.tile-1024 .tile-inner{background:#ef444412;border-color:#ef4444;color:#f87171;box-shadow:var(--glow-1024);font-size:1.4rem}.tile-2048 .tile-inner{background:linear-gradient(135deg,#00f0ff33,#ff007f33);border-color:#fff;color:#fff;box-shadow:var(--glow-2048);font-size:1.4rem;animation:pulseBorder 2s infinite alternate}.tile-super .tile-inner{background:linear-gradient(135deg,#ff007f4d,#8b5cf64d);border-color:var(--accent-pink);color:#fff;box-shadow:0 0 25px var(--accent-pink);font-size:1.2rem}.tile-new .tile-inner{animation:scaleIn .15s cubic-bezier(.175,.885,.32,1.275) forwards}.tile-merged{z-index:3}.tile-merged .tile-inner{animation:popMerge .18s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes popMerge{0%{transform:scale(1)}50%{transform:scale(1.22)}to{transform:scale(1)}}@keyframes pulseBorder{0%{border-color:#fff;box-shadow:0 0 15px #00f0ff,inset 0 0 5px #00f0ff}to{border-color:var(--accent-pink);box-shadow:0 0 25px #ff007f,inset 0 0 8px #ff007f}}.action-bar{display:flex;gap:12px}.cyber-btn{flex:1;font-family:Outfit,sans-serif;font-weight:700;font-size:.95rem;padding:14px 20px;border-radius:14px;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:8px;transition:all .2s cubic-bezier(.16,1,.3,1);letter-spacing:.05em;text-transform:uppercase}.cyber-btn.primary{background:linear-gradient(135deg,var(--accent-cyan),#00a8ff);color:#08090f;border:none;box-shadow:0 0 15px #00f0ff4d}.cyber-btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 25px #00f0ff80;background:linear-gradient(135deg,#33f3ff,#1ab0ff)}.cyber-btn.secondary{background:#ffffff08;border:1px solid rgba(255,255,255,.1);color:var(--text-main)}.cyber-btn.secondary:hover:not(:disabled){background:#ff007f1a;border-color:var(--accent-pink);box-shadow:0 0 15px #ff007f33;color:#fff;transform:translateY(-2px)}.cyber-btn:active:not(:disabled){transform:translateY(1px)}.cyber-btn:disabled{opacity:.3;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-icon{font-size:1.1rem}.instructions{background:#ffffff03;border:1px solid rgba(255,255,255,.03);border-radius:16px;padding:15px;text-align:left;font-size:.85rem;line-height:1.6;color:var(--text-muted)}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#04050ad9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:1000;justify-content:center;align-items:center;padding:20px;opacity:0;transition:opacity .25s ease-out}.modal.active{display:flex;opacity:1}.modal-content{background:#0d0f1cf2;border:1.5px solid var(--border-color);box-shadow:0 0 40px #00f0ff26;border-radius:24px;padding:40px 30px;max-width:400px;width:100%;text-align:center;transform:scale(.9);transition:transform .25s cubic-bezier(.175,.885,.32,1.275);position:relative}.modal.active .modal-content{transform:scale(1)}.modal-content:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--accent-cyan),var(--accent-pink))}.cyber-glitch-title{font-family:Outfit,sans-serif;font-weight:800;font-size:2.2rem;color:var(--accent-pink);text-shadow:0 0 15px rgba(255,0,127,.5);letter-spacing:.05em;margin-bottom:12px}.cyber-glitch-title.victory{color:var(--accent-cyan);text-shadow:0 0 15px rgba(0,240,255,.5)}.modal-desc{color:var(--text-muted);font-size:.95rem;line-height:1.5;margin-bottom:25px}.final-score-display{background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:15px;margin-bottom:30px}.final-lbl{display:block;font-size:.75rem;color:var(--text-muted);letter-spacing:.1em;margin-bottom:6px}.final-val{font-family:Share Tech Mono,monospace;font-size:2.2rem;font-weight:700;color:var(--accent-cyan);text-shadow:0 0 15px rgba(0,240,255,.4)}.cyber-btn.large{width:100%;padding:16px 24px;font-size:1.05rem}.victory-actions{display:flex;flex-direction:column;gap:12px}.victory-actions button{width:100%}.version-label{position:fixed;bottom:20px;left:20px;font-size:.85rem;color:#4b5563;font-weight:500;z-index:100;pointer-events:none;font-family:Share Tech Mono,monospace}
