#geolearn-wrapper{color:#f8fafc;background:radial-gradient(circle at 100% 0,#1e1b4b,#09090b 70%);min-height:100vh;padding-bottom:4rem;font-family:Inter,system-ui,sans-serif;overflow-x:hidden}:root{--bg-main:#09090b;--card-bg:#18181bbf;--text-main:#f8fafc;--accent-1:#06b6d4;--accent-2:#8b5cf6;--accent-3:#ec4899;--border-radius:20px;--glass-border:1px solid #ffffff26;--neon-shadow:0 0 20px #06b6d480}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,system-ui,sans-serif}#geolearn-wrapper{background:radial-gradient(circle at top right, #1e1b4b, var(--bg-main) 70%);color:var(--text-main);min-height:100vh;overflow-x:hidden}#geolearn-wrapper header{text-align:center;backdrop-filter:blur(15px);border-bottom:var(--glass-border);z-index:100;background:#09090bd9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:sticky;top:0}header h1{background:linear-gradient(to right, var(--accent-1), var(--accent-2), var(--accent-3));-webkit-text-fill-color:transparent;letter-spacing:-1px;-webkit-background-clip:text;font-size:2.2rem}#geolearn-wrapper .container{max-width:1200px;margin:0 auto;padding:2rem}.hidden{display:none!important}#geolearn-wrapper .btn-back{color:#fff;border:var(--glass-border);cursor:pointer;background:#ffffff14;border-radius:10px;padding:.6rem 1.2rem;font-weight:600;transition:all .3s;position:absolute;left:2rem}.btn-back:hover{box-shadow:var(--neon-shadow);background:#fff3}.grid-home{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;display:grid}.card-btn{background:var(--card-bg);border:var(--glass-border);border-radius:var(--border-radius);cursor:pointer;backdrop-filter:blur(10px);padding:2rem;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s;position:relative;overflow:hidden}.card-btn:before{content:"";background:linear-gradient(90deg,#0000,#ffffff0d,#0000);width:50%;height:100%;transition:all .5s;position:absolute;top:0;left:-100%;transform:skew(-25deg)}.card-btn:hover:before{left:125%}.card-btn:hover{border-color:var(--accent-2);transform:translateY(-8px);box-shadow:0 15px 30px #8b5cf633}.card-btn h3{color:var(--accent-1);margin-bottom:.5rem;font-size:1.4rem}.card-btn p{color:#a1a1aa;font-size:.95rem;line-height:1.5}.section-content{background:var(--card-bg);border:var(--glass-border);border-radius:var(--border-radius);margin-top:1rem;padding:2rem;animation:.6s forwards fadeIn;box-shadow:0 20px 40px #0009}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.controls{border:var(--glass-border);background:#0006;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1.2rem;display:flex}select,input[type=color]{color:#fff;cursor:pointer;background:#0009;border:1px solid #fff3;border-radius:8px;outline:none;padding:.6rem 1rem;font-size:1rem;transition:all .3s}select:hover{border-color:var(--accent-1)}optgroup{color:var(--accent-1);background:#18181b;font-weight:700}option{color:#fff;background:#18181b}.btn-action{background:linear-gradient(45deg, var(--accent-2), var(--accent-3));color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.6rem 1.5rem;font-weight:700;transition:all .3s;box-shadow:0 4px 15px #ec489966}.btn-action:hover{transform:scale(1.05);box-shadow:0 6px 20px #ec489999}.counter{border:var(--glass-border);background:#00000080;border-radius:10px;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.counter button{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;justify-content:center;align-items:center;width:35px;height:35px;font-size:1.4rem;transition:all .2s;display:flex}.counter button:hover{background:var(--accent-1)}.counter span{text-align:center;min-width:2ch;font-size:1.3rem;font-weight:700}canvas{border:var(--glass-border);background:radial-gradient(circle,#ffffff0f,#0006);border-radius:16px;max-width:100%;margin:0 auto;display:block;box-shadow:inset 0 0 30px #000c}.info-panel{text-align:center;border:var(--glass-border);background:#0000004d;border-radius:12px;margin-top:1.5rem;padding:1.5rem;font-size:1.1rem;line-height:1.6}.math-frac{vertical-align:middle;flex-direction:column;align-items:center;margin:0 .3em;font-size:1em;line-height:1.1;display:inline-flex}.math-frac .num{border-bottom:2px solid var(--text-main);padding:0 .2em .1em}.math-frac .den{padding:.1em .2em 0}.scene3d{perspective:2000px;border:var(--glass-border);background:radial-gradient(circle,#06b6d40d 0%,#0000 70%);border-radius:16px;justify-content:center;align-items:center;width:100%;height:600px;margin:1rem auto;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 50px #00000080}.scene3d:after{content:"";pointer-events:none;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:40px 40px;width:200%;height:200%;position:absolute;transform:rotateX(75deg)translateZ(-200px)}.shape-3d-wrapper{transform-style:preserve-3d;transition:transform 1.5s cubic-bezier(.25,1,.5,1);position:relative;transform:rotateX(55deg)rotate(-35deg)translateY(50px)}.scene3d.folding .shape-3d-wrapper{transform:rotateX(70deg)rotate(15deg)translateY(0)scale(1.1)}.face-base{transform-style:preserve-3d;border:2px solid var(--accent-1);backdrop-filter:blur(4px);color:#fff;text-shadow:0 2px 4px #000c;background:#06b6d459;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 20px #06b6d480}.face-flap{transform-style:preserve-3d;border:2px solid var(--accent-1);backdrop-filter:blur(4px);color:#fff;text-shadow:0 2px 4px #000c;backface-visibility:visible;background:#06b6d459;justify-content:center;align-items:center;font-weight:700;transition:transform 1.5s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;box-shadow:inset 0 0 20px #06b6d480}.cube-base{width:140px;height:140px}.cube-back{transform-origin:bottom;width:140px;height:140px;bottom:100%;left:-2px}.cube-front{transform-origin:top;width:140px;height:140px;top:100%;left:-2px}.cube-left{transform-origin:100%;width:140px;height:140px;top:-2px;right:100%}.cube-right{transform-origin:0;width:140px;height:140px;top:-2px;left:100%}.cube-top{transform-origin:top;width:140px;height:140px;top:100%;left:-2px}.fold-active .cube-back{border-color:var(--accent-2);background:#8b5cf666;transform:rotateX(90deg)}.fold-active .cube-front{border-color:var(--accent-2);background:#8b5cf666;transform:rotateX(-90deg)}.fold-active .cube-left{transform:rotateY(-90deg)}.fold-active .cube-right{transform:rotateY(90deg)}.fold-active .cube-top{border-color:var(--accent-3);background:#ec489966;transform:rotateX(-90deg)}.prism-base{width:140px;height:140px}.prism-back{transform-origin:bottom;width:140px;height:200px;bottom:100%;left:-2px}.prism-front{transform-origin:top;width:140px;height:200px;top:100%;left:-2px}.prism-left{transform-origin:100%;width:200px;height:140px;top:-2px;right:100%}.prism-right{transform-origin:0;width:200px;height:140px;top:-2px;left:100%}.prism-top{transform-origin:top;width:140px;height:140px;top:100%;left:-2px}.fold-active .prism-back{border-color:var(--accent-2);background:#8b5cf666;transform:rotateX(90deg)}.fold-active .prism-front{border-color:var(--accent-2);background:#8b5cf666;transform:rotateX(-90deg)}.fold-active .prism-left{transform:rotateY(-90deg)}.fold-active .prism-right{transform:rotateY(90deg)}.fold-active .prism-top{border-color:var(--accent-3);background:#ec489966;transform:rotateX(-90deg)}.py-base{width:160px;height:160px}.py-flap{filter:drop-shadow(0 0 3px #06b6d4cc);background:#06b6d473;border:none;width:160px;height:160px}.py-back{transform-origin:bottom;clip-path:polygon(50% 0,0 100%,100% 100%);bottom:100%;left:0}.py-front{transform-origin:top;clip-path:polygon(0 0,100% 0,50% 100%);top:100%;left:0}.py-left{transform-origin:100%;clip-path:polygon(100% 0,100% 100%,0 50%);top:0;right:100%}.py-right{transform-origin:0;clip-path:polygon(0 0,0 100%,100% 50%);top:0;left:100%}.fold-active .py-back{background:#8b5cf680;transform:rotateX(60deg)}.fold-active .py-front{background:#8b5cf680;transform:rotateX(-60deg)}.fold-active .py-left{transform:rotateY(-60deg)}.fold-active .py-right{transform:rotateY(60deg)}.rotating-3d{transform-style:preserve-3d;width:150px;height:150px;margin:2rem auto;animation:15s linear infinite spin3D;position:relative}@keyframes spin3D{0%{transform:rotateX(0)rotateY(0)}to{transform:rotateX(360deg)rotateY(360deg)}}.shape-face{border:2px solid var(--accent-3);background:#ec489940;width:100%;height:100%;position:absolute}#geolearn-wrapper select,#geolearn-wrapper input[type=color]{color:#fff;cursor:pointer;background:#0009;border:1px solid #fff3;border-radius:8px;outline:none;padding:.6rem 1rem;font-size:1rem;transition:all .3s}#geolearn-wrapper .btn-action{color:#fff;cursor:pointer;background:linear-gradient(45deg,#8b5cf6,#ec4899);border:none;border-radius:8px;padding:.6rem 1.5rem;font-weight:700}#geolearn-wrapper .card-btn{cursor:pointer;background:#18181bbf;border:1px solid #ffffff26;border-radius:20px;padding:2rem;position:relative;overflow:hidden}#geolearn-wrapper .section-content{background:#18181bbf;border:1px solid #ffffff26;border-radius:20px;margin-top:1rem;padding:2rem}#geolearn-wrapper canvas{background:radial-gradient(circle,#ffffff0f,#0006)!important}
