@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}*{margin:0;padding:0;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}body{background-color:#0a0f1c;color:#e0e0e0;min-height:100vh;padding:20px;overflow-x:hidden}.grid-bg{position:fixed;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(rgba(0,255,209,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,209,.05) 1px,transparent 1px);background-size:30px 30px;z-index:-1;pointer-events:none}.container{max-width:1400px;margin:0 auto}.header{text-align:center;margin-bottom:40px;padding:40px 0;border-bottom:1px solid rgba(255,255,255,.1);position:relative}.logo{font-size:42px;font-weight:800;background:linear-gradient(90deg,#00ffd1,#00c6ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:15px;letter-spacing:.12em}.subtitle{font-size:20px;color:rgba(224,224,224,.7);margin-bottom:25px;max-width:800px;margin-left:auto;margin-right:auto;line-height:1.6}.stats{display:flex;justify-content:center;gap:30px;margin-top:20px}.stat-item{position:relative;text-align:center;padding:15px 25px;background:rgba(10,14,22,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,255,209,.2);border-radius:12px;box-shadow:0 0 50px rgba(0,255,209,.1);overflow:hidden}.progress-container::before,.stat-item::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,255,209,.35),transparent);pointer-events:none}.stat-label,.stat-number{position:relative;z-index:1}.stat-number{font-size:28px;font-weight:700;letter-spacing:.02em;background:linear-gradient(90deg,#00ffd1,#00c6ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:5px}.stat-label{font-size:14px;color:#94a3b8}.progress-container{position:relative;background:rgba(10,14,22,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,255,209,.2);border-radius:12px;padding:25px;margin-bottom:40px;box-shadow:0 0 50px rgba(0,255,209,.1);overflow:hidden}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;position:relative;z-index:1}.progress-title{font-size:18px;font-weight:700;letter-spacing:.06em;background:linear-gradient(90deg,#00ffd1,#00c6ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.progress-text{font-size:15px;font-weight:500;color:#94a3b8}.progress-bar{position:relative;z-index:1;height:12px;background:rgba(0,0,0,.35);border:1px solid rgba(0,255,209,.12);border-radius:8px;overflow:hidden;margin:15px 0}.progress-fill{height:100%;width:0%;background:linear-gradient(90deg,#00ffd1,#00c6ff);border-radius:7px;box-shadow:0 0 14px rgba(0,255,209,.25);transition:width .5s ease}.progress-hint{position:relative;z-index:1;font-size:14px;line-height:1.55;color:#94a3b8;margin-top:10px}.phases-container{display:flex;flex-direction:column;gap:30px;margin-top:40px}.phase-card{position:relative;background:rgba(10,14,22,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,255,209,.2);border-radius:12px;padding:25px;box-shadow:0 0 50px rgba(0,255,209,.1);overflow:hidden;transition:all .3s ease}.phase-card:hover{border-color:#00ffd1;box-shadow:0 10px 30px rgba(0,255,209,.1);transform:translateY(-5px)}.phase-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid rgba(0,255,209,.12)}.phase-title{font-size:22px;font-weight:700;color:#fff}.phase-subtitle{font-size:16px;color:rgba(224,224,224,.7);margin-top:5px}.phase-stats{display:flex;gap:15px}.phase-stat{padding:8px 15px;background:rgba(0,229,255,.1);border-radius:6px;font-size:14px;color:#00e5ff}button.phase-stat.phase-reset-btn{font:inherit;line-height:inherit;margin:0;border:0;cursor:pointer;flex-shrink:0}button.phase-stat.phase-reset-btn:hover{background:rgba(0,229,255,.16)}button.phase-stat.phase-reset-btn:active{transform:scale(.98)}.levels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.level-card{background:rgba(255,255,255,.03);border-radius:12px;padding:20px;border:1px solid rgba(255,255,255,.05);transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.level-card:hover{background:rgba(255,255,255,.05);border-color:rgba(0,229,255,.3);transform:translateY(-3px)}.level-card.locked{cursor:not-allowed;background:rgba(0,0,0,.35);border:1px solid rgba(0,255,209,.12)}.level-card.locked:hover{transform:none;border-color:rgba(0,255,209,.12);background:rgba(0,0,0,.35)}.level-status-locked{cursor:not-allowed;background:rgba(0,0,0,.35)!important;border:1px solid rgba(0,255,209,.12)!important}.level-card.level-status-locked:hover{transform:none;border-color:rgba(0,255,209,.12)!important;background:rgba(0,0,0,.38)!important}.level-status-unlocked{cursor:pointer;border-left:4px solid #00e5ff;border-right:4px solid #00e5ff;background:rgba(0,229,255,.06)}.level-card.level-status-unlocked:hover{border-left-color:#3ef;border-right-color:#3ef;background:rgba(0,229,255,.09)}.level-status-learning{border-left:4px solid #ff9f1c;border-right:4px solid #ff9f1c;background:rgba(255,159,28,.05)}.level-status-completed{border-left:4px solid #b453f5;border-right:4px solid #b453f5;background:rgba(168,85,247,.07)}.level-card.level-status-completed:hover{border-left-color:#c084fc;border-right-color:#c084fc;background:rgba(168,85,247,.11)}.level-number,.level-title{font-weight:600;margin-bottom:10px}.level-number{font-size:14px;color:#00e5ff;display:flex;align-items:center;gap:8px}.level-number:before{content:"";width:8px;height:8px;background:#00e5ff;border-radius:50%}.level-title{font-size:18px;color:#fff}.level-desc{font-size:14px;color:rgba(224,224,224,.7);line-height:1.5;margin-bottom:15px;min-height:60px}.level-meta{display:flex;justify-content:space-between;font-size:12px;color:rgba(224,224,224,.5);margin-bottom:15px}.start-btn{display:block;width:100%;padding:12px;color:#000;border:0;border-radius:8px;font-weight:600;cursor:pointer;text-align:center;text-decoration:none;transition:all .3s ease;font-size:14px}.btn-start{background:linear-gradient(to right,#00e5ff,#00ff9d);color:#000}.btn-start:hover{transform:translateY(-2px);box-shadow:0 5px 18px rgba(0,229,255,.4),0 0 16px rgba(0,255,157,.28)}.btn-continue{background:linear-gradient(135deg,#ff9f1c,#ff6b6b);color:#fff}.btn-continue:hover,.btn-review:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(255,159,28,.3)}.btn-review{background:linear-gradient(135deg,#b453f5,#a855f7 36%,#9333ea 68%,#6366f1);color:#fff;font-weight:700}.btn-review:hover{box-shadow:0 6px 24px rgba(180,83,245,.55),0 0 28px rgba(99,102,241,.45)}.btn-locked,.locked-btn{background:rgba(0,0,0,.35);border:1px solid rgba(0,255,209,.12);color:#94a3b8;cursor:not-allowed}.btn-locked:hover,.locked-btn:hover{transform:none;box-shadow:none}.status-badge{position:absolute;top:15px;right:15px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.completed{background:rgba(180,83,245,.22);color:#e9d5ff;border:1px solid rgba(147,51,234,.45)}.current{background:rgba(255,159,28,.2);color:#ff9f1c}.locked-badge{background:rgba(255,107,107,.2);color:#ff6b6b}.unlocked-badge{background:rgba(0,229,255,.2);color:#00e5ff}.controls{display:flex;justify-content:center;gap:15px;margin-top:40px}.control-btn{position:relative;padding:12px 24px;color:#e2e8f0;border:1px solid rgba(0,255,209,.2);border-radius:12px;cursor:pointer;font-weight:600;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,transform .2s ease;background-color:rgba(10,14,22,.92);background-image:linear-gradient(90deg,transparent,rgba(0,255,209,.35),transparent);background-size:100% 1px;background-repeat:no-repeat;background-position:0 0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 0 40px rgba(0,255,209,.08);overflow:hidden}.control-btn:hover{background-color:rgba(12,18,28,.96);border-color:rgba(0,255,209,.45);box-shadow:0 0 28px rgba(0,255,209,.15);transform:translateY(-1px)}.footer{text-align:center;margin-top:50px;padding-top:30px;border-top:1px solid rgba(255,255,255,.1);color:rgba(224,224,224,.5);font-size:14px}.footer-hint{margin-top:10px;font-size:12px}.instructions-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.85);display:none;justify-content:center;align-items:center;z-index:9999;padding:20px;box-sizing:border-box;animation:modalFadeIn .3s ease}.modal-content{background:#1a1a2e;color:#e0e0e0;padding:2rem;border-radius:12px;max-width:800px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 0 30px rgba(0,229,255,.3);border:1px solid rgba(0,229,255,.3);animation:modalSlideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:1px solid rgba(0,229,255,.3);padding-bottom:1rem}.close-btn,.modal-header h2{color:#00e5ff;font-size:1.8rem}.modal-header h2{margin:0;font-weight:700}.close-btn{background:rgba(0,229,255,.1);border:1px solid rgba(0,229,255,.3);cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .2s;padding:0}.close-btn:hover{background:rgba(0,229,255,.2);border-color:#00e5ff;transform:rotate(90deg)}.modal-body{line-height:1.6;font-size:1rem}.modal-body h3{color:#00ff9d;margin-top:1.5rem;margin-bottom:.5rem;font-size:1.2rem;font-weight:600}.modal-body ol,.modal-body ul{padding-left:1.5rem;margin:.5rem 0 1rem}.modal-body li{margin:.5rem 0;padding-left:.5rem}.modal-body strong{color:#00e5ff;font-weight:600}@media (max-width:768px){.levels-grid{grid-template-columns:1fr}.phase-stats,.stats{flex-direction:column;gap:15px}.phase-stats{gap:10px}.controls{flex-direction:column;align-items:center}.control-btn{width:100%;max-width:300px}.modal-content{padding:1.5rem;margin:10px}.modal-header h2{font-size:1.5rem}}