.text-input-container{padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}@media (min-width: 768px) and (max-width: 1024px){.text-input-container{padding:2rem 3rem}.input-form{padding:2.5rem 3rem;border-radius:24px}.homework-textarea{min-height:180px;font-size:1.1rem;padding:1.25rem}.title-input{font-size:1.1rem;padding:1rem}.generate-button{padding:1rem 2rem;font-size:1.1rem;min-height:52px}}@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape){.text-input-container{padding:2rem 4rem}.input-header h1{font-size:2.8rem}.input-header p{font-size:1.4rem}.input-form{padding:2.5rem 4rem}}@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait){.text-input-container{padding:2.5rem 2rem}.input-header h1{font-size:3rem}.input-header p{font-size:1.5rem}.input-form{padding:3rem 2.5rem}.homework-textarea{min-height:200px;font-size:1.2rem}}.input-header{text-align:center;margin-bottom:2rem;color:#fff}.input-header h1{font-size:2.5rem;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.input-header p{font-size:1.2rem;opacity:.9}.input-form{background:#fff;padding:2rem;border-radius:20px;box-shadow:0 10px 30px #0003}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:1.1rem;font-weight:600;color:#333;margin-bottom:.5rem}.title-input{width:100%;padding:.75rem;font-size:1rem;border:2px solid #e1e5e9;border-radius:8px;transition:border-color .3s ease}.title-input:focus{outline:none;border-color:#4ecdc4}.homework-textarea{width:100%;padding:1rem;font-size:1rem;border:2px solid #e1e5e9;border-radius:8px;resize:vertical;font-family:inherit;line-height:1.5;transition:border-color .3s ease}.homework-textarea:focus{outline:none;border-color:#4ecdc4}.homework-textarea::placeholder{color:#999;line-height:1.5}.generate-button{width:100%;padding:1rem 2rem;font-size:1.3rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#4ecdc4,#44a08d);border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #4ecdc44d;min-height:56px}@media (min-width: 768px) and (max-width: 1024px){.title-input{padding:1.5rem 2rem;font-size:1.4rem;min-height:60px;border-radius:12px;border-width:3px}.homework-textarea{padding:1.8rem 2rem;font-size:1.3rem;min-height:220px;border-radius:12px;border-width:3px;line-height:1.7}.generate-button{padding:1.8rem 3rem;font-size:1.6rem;min-height:70px;border-radius:16px;box-shadow:0 6px 20px #4ecdc466}.generate-button:hover{transform:translateY(-3px);box-shadow:0 8px 25px #4ecdc480}.form-group label{font-size:1.4rem;margin-bottom:1rem;font-weight:600}@media (orientation: landscape){.title-input{padding:1.3rem 2.5rem;font-size:1.3rem;min-height:55px}.homework-textarea{padding:1.5rem 2.5rem;font-size:1.2rem;min-height:180px}.generate-button{padding:1.5rem 4rem;font-size:1.5rem;min-height:65px}.form-group label{font-size:1.3rem;margin-bottom:.8rem}}@media (orientation: portrait){.title-input{padding:1.7rem 1.8rem;font-size:1.5rem;min-height:65px}.homework-textarea{padding:2rem 1.8rem;font-size:1.4rem;min-height:250px}.generate-button{padding:2rem 2.5rem;font-size:1.7rem;min-height:75px}.form-group label{font-size:1.5rem;margin-bottom:1.2rem}}}.generate-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4ecdc466}.generate-button:active{transform:translateY(0)}.generate-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.upload-hint{font-size:.9rem;color:#666;margin-top:.5rem;margin-bottom:0;transition:all .3s ease}.upload-hint.processing{color:#4ecdc4;font-weight:500;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.image-upload-area{margin-top:.5rem}.image-input{display:none}.image-upload-button{display:inline-block;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#ff7b7b,#ff6b6b);border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #ff6b6b4d}.image-upload-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ff6b6b66}.image-upload-button.uploading{opacity:.7;cursor:not-allowed;transform:none}.upload-hint{font-size:.9rem;color:#666;margin-top:.5rem;margin-bottom:0}.uploaded-images{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.uploaded-images h4{margin:0 0 1rem;font-size:1rem;color:#333}.image-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}.image-preview-item{position:relative;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.preview-image{width:100%;height:120px;object-fit:cover;display:block}.remove-image-button{position:absolute;top:4px;right:4px;background:#ffffffe6;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.remove-image-button:hover{background:#fff;transform:scale(1.1)}@media (min-width: 768px) and (max-width: 1024px){.image-upload-button{padding:1rem 2rem;font-size:1.2rem}.image-preview-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1.5rem}.preview-image{height:150px}.remove-image-button{width:30px;height:30px;font-size:14px}}.task-item{display:flex;align-items:center;padding:1rem;margin:.5rem 0;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease;border:2px solid transparent;min-height:60px}@media (min-width: 768px) and (max-width: 1024px){.task-item{padding:2rem 2.5rem;margin:1rem 0;min-height:80px;border-radius:16px;box-shadow:0 4px 16px #0000001f}.task-item:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000002e}@media (orientation: landscape){.task-item{padding:1.8rem 3rem;margin:.8rem 0;min-height:75px}.task-content{margin-right:2rem}}@media (orientation: portrait){.task-item{padding:2.2rem 2rem;margin:1.2rem 0;min-height:85px}.task-content{margin-right:1.5rem}}}.task-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:#4ecdc4}.task-item.completed{background:#f0f9ff;border-color:#22c55e;animation:taskCompleteGlow .8s ease-out}@keyframes taskCompleteGlow{0%{background:#fff;box-shadow:0 2px 8px #0000001a}25%{background:#e8f5e8;box-shadow:0 4px 20px #22c55e4d}50%{background:#f0f9ff;box-shadow:0 6px 25px #22c55e66}75%{background:#e8f5e8;box-shadow:0 4px 20px #22c55e4d}to{background:#f0f9ff;box-shadow:0 2px 8px #0000001a}}.task-checkbox{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:3px solid #dee2e6;font-size:0;cursor:pointer;margin-right:1rem;padding:0;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:3rem;min-height:3rem;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 2px 4px #0000001a}.task-checkbox:before{content:"";width:16px;height:16px;border:2px solid transparent;border-radius:2px;transition:all .3s ease;background:transparent}.task-checkbox:hover{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-color:#2196f3;transform:scale(1.05);box-shadow:0 4px 12px #2196f34d}.task-checkbox:active{transform:scale(.95)}.task-item.completed .task-checkbox{background:linear-gradient(135deg,#4caf50,#45a049);border-color:#4caf50;box-shadow:0 4px 12px #4caf5066;animation:completePulse .6s ease-out}@keyframes completePulse{0%{transform:scale(1);box-shadow:0 4px 12px #4caf5066}25%{transform:scale(1.15);box-shadow:0 8px 25px #4caf50b3}50%{transform:scale(1.05);box-shadow:0 6px 20px #4caf5099}75%{transform:scale(1.1);box-shadow:0 8px 25px #4caf50b3}to{transform:scale(1);box-shadow:0 4px 12px #4caf5066}}.task-item.completed .task-checkbox:before{content:"✓";color:#fff;font-size:18px;font-weight:700;border:none;background:none;width:auto;height:auto;animation:checkmark .3s ease-in-out}@keyframes checkmark{0%{opacity:0;transform:scale(0) rotate(-180deg)}30%{opacity:.7;transform:scale(1.3) rotate(-90deg)}60%{opacity:1;transform:scale(.9) rotate(0)}80%{opacity:1;transform:scale(1.1) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0)}}.task-item.completed .task-checkbox:hover{background:linear-gradient(135deg,#66bb6a,#4caf50);transform:scale(1.05)}.task-content{flex:1;display:flex;flex-direction:column}.task-text{font-size:1.2rem;color:#333;line-height:1.5;font-weight:500;margin-bottom:.5rem}@media (min-width: 768px) and (max-width: 1024px){.task-checkbox{min-width:4rem;min-height:4rem;margin-right:2rem;border-width:4px;box-shadow:0 3px 6px #00000026}.task-checkbox:before{width:20px;height:20px}.task-checkbox:hover{box-shadow:0 6px 16px #2196f366}.task-item.completed .task-checkbox:before{font-size:22px}.task-text{font-size:1.6rem;line-height:1.7;font-weight:500}@media (orientation: landscape){.task-checkbox{font-size:2.8rem;min-width:3.8rem;min-height:3.8rem;margin-right:2.5rem}.task-text{font-size:1.5rem;line-height:1.6}}@media (orientation: portrait){.task-checkbox{font-size:3.2rem;min-width:4.2rem;min-height:4.2rem;margin-right:1.8rem}.task-text{font-size:1.7rem;line-height:1.8}}}.task-item.completed .task-text{color:#666;text-decoration:line-through}.task-images{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.task-image{width:80px;height:80px;object-fit:cover;border-radius:8px;border:2px solid #e1e5e9;cursor:pointer;transition:all .3s ease}.task-image:hover{transform:scale(1.05);border-color:#4ecdc4;box-shadow:0 2px 8px #4ecdc44d}@media (min-width: 768px) and (max-width: 1024px){.task-images{gap:1rem;margin-top:1rem;flex-wrap:wrap}.task-image{width:120px;height:120px;border-radius:12px;border:3px solid #e1e5e9;transition:all .3s ease}.task-image:hover{transform:scale(1.08);border-color:#4ecdc4;box-shadow:0 4px 16px #4ecdc466}@media (orientation: landscape){.task-images{gap:1.2rem;margin-top:1rem}.task-image{width:110px;height:110px}}@media (orientation: portrait){.task-images{gap:1rem;margin-top:1.2rem}.task-image{width:130px;height:130px}}}.subject-group{margin-bottom:24px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.subject-header{padding:16px 20px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-left:4px solid #007bff;display:flex;justify-content:space-between;align-items:center}.subject-info{display:flex;align-items:center;gap:12px}.subject-icon{font-size:24px;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.subject-name{font-size:18px;font-weight:600;color:#2c3e50}.subject-count{font-size:14px;color:#6c757d;background:#fffc;padding:4px 8px;border-radius:12px;font-weight:500}.subject-progress{display:flex;align-items:center;gap:12px;min-width:120px}.subject-progress-bar{width:80px;height:8px;background:#ffffff4d;border-radius:4px;overflow:hidden;position:relative}.subject-progress-fill{height:100%;border-radius:4px;transition:width .6s cubic-bezier(.4,0,.2,1);opacity:.9;position:relative;overflow:hidden}.subject-progress-fill:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:progressShimmer 2s infinite}@keyframes progressShimmer{0%{left:-100%}to{left:100%}}.subject-progress-text{font-size:12px;font-weight:600;color:#495057;min-width:32px}.subject-tasks{padding:0}.subject-tasks .task-item{border-bottom:1px solid #f1f3f4;margin:0;border-radius:0;box-shadow:none}.subject-tasks .task-item:last-child{border-bottom:none}.subject-tasks .task-item:hover{background:#f8f9fa}@media (max-width: 768px){.subject-header{flex-direction:column;gap:12px;align-items:flex-start}.subject-info{width:100%}.subject-progress{width:100%;justify-content:space-between}.subject-progress-bar{flex:1;max-width:200px}}.subject-group{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.star-animation-container{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:1000}.star{position:absolute;font-size:2rem;animation:starBounce 1.5s ease-out forwards;transform-origin:center}@keyframes starBounce{0%{transform:scale(0) rotate(0) translateY(0);opacity:0;filter:brightness(1) drop-shadow(0 0 0px gold)}25%{transform:scale(1.5) rotate(90deg) translateY(-20px);opacity:.8;filter:brightness(1.5) drop-shadow(0 0 10px gold)}50%{transform:scale(1.2) rotate(180deg) translateY(-40px);opacity:1;filter:brightness(2) drop-shadow(0 0 20px gold)}75%{transform:scale(.8) rotate(270deg) translateY(-20px);opacity:.8;filter:brightness(1.5) drop-shadow(0 0 15px gold)}to{transform:scale(0) rotate(360deg) translateY(0);opacity:0;filter:brightness(1) drop-shadow(0 0 0px gold)}}.celebration-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.5rem;font-weight:700;color:#ff6b6b;text-align:center;animation:celebrationPulse 2s ease-in-out;text-shadow:2px 2px 4px rgba(0,0,0,.3)}@keyframes celebrationPulse{0%{transform:translate(-50%,-50%) scale(0) rotate(-10deg);opacity:0;filter:brightness(1) drop-shadow(0 0 0px #ff6b6b)}15%{transform:translate(-50%,-50%) scale(1.3) rotate(5deg);opacity:.8;filter:brightness(1.5) drop-shadow(0 0 15px #ff6b6b)}30%{transform:translate(-50%,-50%) scale(1.1) rotate(-2deg);opacity:1;filter:brightness(2) drop-shadow(0 0 25px #ff6b6b)}50%{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1;filter:brightness(1.8) drop-shadow(0 0 20px #ff6b6b)}70%{transform:translate(-50%,-50%) scale(1.05) rotate(1deg);opacity:1;filter:brightness(1.5) drop-shadow(0 0 15px #ff6b6b)}85%{transform:translate(-50%,-50%) scale(.95) rotate(-1deg);opacity:.8;filter:brightness(1.2) drop-shadow(0 0 10px #ff6b6b)}to{transform:translate(-50%,-50%) scale(.8) rotate(0);opacity:0;filter:brightness(1) drop-shadow(0 0 0px #ff6b6b)}}.celebration-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;overflow:hidden;pointer-events:auto}.celebration-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#ff6b6be6,#4ecdc4e6,#45b7d1e6,#96ceb4e6,#feca57e6);animation:backgroundPulse 3s ease-in-out infinite}@keyframes backgroundPulse{0%,to{opacity:.9}50%{opacity:.7}}.celebration-main{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:10;animation:mainEntrance 1s ease-out}@keyframes mainEntrance{0%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(-10deg)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1) rotate(5deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}.celebration-title{font-size:4rem;font-weight:700;color:#fff;text-shadow:3px 3px 6px rgba(0,0,0,.5);margin-bottom:1rem;animation:titleBounce 2s ease-in-out infinite}@keyframes titleBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.05)}}.celebration-subtitle{font-size:2.5rem;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.5);margin-bottom:1.5rem;animation:subtitleGlow 2s ease-in-out infinite alternate}@keyframes subtitleGlow{0%{text-shadow:2px 2px 4px rgba(0,0,0,.5)}to{text-shadow:2px 2px 20px rgba(255,255,255,.8)}}.celebration-message{font-size:1.8rem;color:#fff;text-shadow:1px 1px 3px rgba(0,0,0,.5);margin-bottom:2rem;line-height:1.5;animation:messageFloat 3s ease-in-out infinite}@keyframes messageFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.reward-info{margin-top:2rem;padding:1.5rem;background:#fffffff2;border-radius:20px;box-shadow:0 8px 32px #0000004d;animation:rewardAppear 1s ease-out 2s both}@keyframes rewardAppear{0%{opacity:0;transform:scale(.8) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}.reward-title{font-size:1.8rem;font-weight:700;color:#ff6b6b;text-align:center;margin-bottom:1rem;animation:rewardTitleGlow 2s ease-in-out infinite alternate}@keyframes rewardTitleGlow{0%{text-shadow:2px 2px 4px rgba(255,107,107,.5)}to{text-shadow:2px 2px 15px rgba(255,107,107,.8)}}.reward-items{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.reward-item{display:flex;align-items:center;gap:.8rem;padding:.8rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;border:2px solid transparent;transition:all .3s ease;animation:rewardItemFloat 3s ease-in-out infinite}.reward-item:nth-child(1){animation-delay:.2s}.reward-item:nth-child(2){animation-delay:.4s}.reward-item:nth-child(3){animation-delay:.6s}.reward-item:nth-child(4){animation-delay:.8s}@keyframes rewardItemFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.reward-item:hover{border-color:#4ecdc4;box-shadow:0 4px 15px #4ecdc44d;transform:scale(1.05)}.reward-icon{font-size:2rem;animation:rewardIconSpin 2s ease-in-out infinite}@keyframes rewardIconSpin{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(10deg) scale(1.1)}}.reward-text{font-size:1rem;font-weight:600;color:#2c3e50}.champagne-container{position:absolute;top:-100px;left:50%;transform:translate(-50%);width:100px;height:200px}.champagne-bottle{font-size:4rem;position:absolute;bottom:0;left:50%;transform:translate(-50%);animation:champagneShake .5s ease-in-out 3,champagnePop .3s ease-out 1.5s}@keyframes champagneShake{0%,to{transform:translate(-50%) rotate(0)}25%{transform:translate(-50%) rotate(-5deg)}75%{transform:translate(-50%) rotate(5deg)}}@keyframes champagnePop{0%{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.2)}to{transform:translate(-50%) scale(1)}}.champagne-cork{font-size:2rem;position:absolute;bottom:80px;left:50%;transform:translate(-50%);animation:corkFly 1s ease-out 1.8s forwards;opacity:0}@keyframes corkFly{0%{opacity:1;transform:translate(-50%) translateY(0) rotate(0)}to{opacity:0;transform:translate(-50%) translateY(-200px) rotate(720deg)}}.champagne-bubbles{position:absolute;bottom:80px;left:50%;transform:translate(-50%);width:50px;height:100px}.bubble{position:absolute;font-size:1rem;animation:bubbleRise 2s ease-out 2s infinite;opacity:0}@keyframes bubbleRise{0%{opacity:1;transform:translateY(0) scale(.5)}50%{opacity:.8;transform:translateY(-50px) scale(1)}to{opacity:0;transform:translateY(-100px) scale(.3)}}.trophy{font-size:5rem;margin-top:2rem;animation:trophyRotate 4s ease-in-out infinite;filter:drop-shadow(0 0 20px gold)}@keyframes trophyRotate{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-10deg) scale(1.1)}50%{transform:rotate(0) scale(1.2)}75%{transform:rotate(10deg) scale(1.1)}}.confetti-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.confetti-piece{position:absolute;top:-10px;width:10px;height:20px;animation:confettiFall 3s linear infinite}@keyframes confettiFall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.balloons-container{position:absolute;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.balloon{position:absolute;bottom:-100px;width:40px;height:60px;border-radius:50%/60% 60% 40% 40%;animation:balloonFloat 4s ease-in-out infinite}.balloon:before{content:"🎈";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2.5rem}.balloon-string{position:absolute;bottom:-20px;left:50%;width:2px;height:50px;background:#333;transform:translate(-50%)}@keyframes balloonFloat{0%{transform:translateY(0) rotate(0);bottom:-100px}50%{transform:translateY(-20px) rotate(5deg)}to{transform:translateY(0) rotate(0);bottom:80vh}}.fireworks-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.firework{position:absolute;font-size:3rem;animation:fireworkExplode 2s ease-out infinite}.firework-1{top:20%;left:20%;animation-delay:.5s}.firework-2{top:30%;right:20%;animation-delay:1s}.firework-3{top:60%;left:15%;animation-delay:1.5s}.firework-4{top:70%;right:15%;animation-delay:2s}@keyframes fireworkExplode{0%{transform:scale(0) rotate(0);opacity:1}50%{transform:scale(1.5) rotate(180deg);opacity:1}to{transform:scale(.5) rotate(360deg);opacity:0}}.easter-eggs{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.easter-egg{position:absolute;font-size:2.5rem;animation:eggBounce 3s ease-in-out infinite}.egg-1{top:15%;left:10%;animation-delay:.5s}.egg-2{top:25%;right:10%;animation-delay:1s}.egg-3{bottom:20%;left:50%;transform:translate(-50%);animation-delay:1.5s}@keyframes eggBounce{0%,to{transform:translateY(0) rotate(0) scale(1)}25%{transform:translateY(-20px) rotate(10deg) scale(1.1)}50%{transform:translateY(-10px) rotate(-5deg) scale(1.2)}75%{transform:translateY(-15px) rotate(5deg) scale(1.1)}}.celebration-close{position:absolute;bottom:50px;left:50%;transform:translate(-50%);padding:15px 30px;font-size:1.5rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#ff6b6b,#4ecdc4);border:none;border-radius:50px;cursor:pointer;box-shadow:0 8px 20px #0000004d;transition:all .3s ease;animation:buttonPulse 2s ease-in-out infinite}.celebration-close:hover{transform:translate(-50%) scale(1.1);box-shadow:0 12px 30px #0006}@keyframes buttonPulse{0%,to{box-shadow:0 8px 20px #0000004d}50%{box-shadow:0 8px 30px #ffffff80}}@media (max-width: 768px){.celebration-title{font-size:2.5rem}.celebration-subtitle{font-size:1.8rem}.celebration-message{font-size:1.3rem}.trophy{font-size:3rem}.champagne-bottle{font-size:2.5rem}.reward-info{padding:1rem;margin-top:1.5rem}.reward-title{font-size:1.4rem}.reward-items{grid-template-columns:1fr;gap:.8rem}.reward-item{padding:.6rem}.reward-icon{font-size:1.5rem}.reward-text{font-size:.9rem}}.rank-badge{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);border:2px solid #ffd700;border-radius:16px;padding:1.5rem;margin:1rem 0;box-shadow:0 8px 32px #ffd7004d,inset 0 1px #ffffff1a;position:relative;overflow:hidden}.rank-badge:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.rank-badge-animate:before{left:100%}.rank-badge-animate{animation:rankGlow 2s ease-in-out}@keyframes rankGlow{0%,to{box-shadow:0 8px 32px #ffd7004d,inset 0 1px #ffffff1a}50%{box-shadow:0 12px 48px #ffd70099,inset 0 1px #fff3;transform:translateY(-2px)}}.rank-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.rank-badge-icon{font-size:3rem;text-shadow:0 0 20px currentColor;animation:iconPulse 2s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.rank-info{flex:1}.rank-title{font-size:1.5rem;font-weight:700;text-shadow:0 0 10px currentColor;margin-bottom:.25rem}.rank-description{color:#b0b0b0;font-size:.9rem;font-style:italic}.rank-stats{border-top:1px solid rgba(255,215,0,.3);padding-top:1rem}.completion-stats{text-align:center;margin-bottom:1rem}.stats-text{color:#fff;font-size:1.1rem;font-weight:600}.next-rank-info{margin-top:1rem}.next-rank-text{color:#e0e0e0;font-size:.9rem;text-align:center;margin-bottom:.5rem}.rank-progress-bar{width:100%;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;position:relative}.rank-progress-fill{height:100%;border-radius:4px;transition:width .8s ease-out;position:relative;overflow:hidden}.rank-progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progressShine 2s ease-in-out infinite}@keyframes progressShine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.max-rank-achieved{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;padding:.75rem;background:linear-gradient(45deg,#ff6b35,gold);border-radius:8px;animation:maxRankGlow 1.5s ease-in-out infinite alternate}@keyframes maxRankGlow{0%{box-shadow:0 0 20px #ffd70080}to{box-shadow:0 0 30px #ffd700cc}}.crown-icon{font-size:1.2rem;animation:crownBounce 1s ease-in-out infinite alternate}@keyframes crownBounce{0%{transform:translateY(0)}to{transform:translateY(-3px)}}.max-rank-text{color:#1a1a2e;font-weight:700;font-size:1rem}@media screen and (min-width: 768px) and (max-width: 1024px){.rank-badge{padding:2rem;margin:1.5rem 0}.rank-badge-icon{font-size:4rem}.rank-title{font-size:2rem}.rank-description{font-size:1.1rem}.stats-text{font-size:1.3rem}.next-rank-text{font-size:1.1rem}.rank-progress-bar{height:12px}}@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape){.rank-badge{padding:1.5rem 2rem}.rank-header{gap:1.5rem}}.homework-list-container{padding:1rem;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}@media (min-width: 768px) and (max-width: 1024px){.homework-list-container{padding:2rem 3rem}.homework-header{padding:2.5rem 3rem;margin-bottom:2.5rem;border-radius:24px}.homework-header h1{font-size:2.8rem;margin-bottom:1.5rem}.progress-text{font-size:1.4rem}.progress-bar{height:20px;border-radius:10px;margin-bottom:1rem}.progress-fill{border-radius:10px}@media (orientation: landscape){.homework-list-container{padding:2rem 4rem}.homework-header{padding:2rem 4rem;margin-bottom:2rem}.homework-header h1{font-size:2.5rem}.tasks-container{margin-bottom:2rem}.completion-celebration{padding:2rem 4rem;border-radius:24px}.completion-celebration h2{font-size:1.8rem}}@media (orientation: portrait){.homework-list-container{padding:2.5rem 2rem}.homework-header{padding:2.5rem 2rem;margin-bottom:2rem}.tasks-container{margin-bottom:2rem}.completion-celebration{padding:2.5rem 2rem;margin-bottom:2rem}}}.homework-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;color:#fff;box-shadow:0 8px 32px #667eea4d}.header-controls{display:flex;align-items:center;gap:20px}.view-toggle{display:flex;background:#fff3;border-radius:8px;padding:4px;gap:4px}.toggle-btn{padding:8px 16px;border:none;border-radius:6px;background:transparent;color:#fff;font-size:14px;cursor:pointer;transition:all .3s ease;white-space:nowrap}.toggle-btn:hover{background:#fff3}.toggle-btn.active{background:#ffffff4d;font-weight:600}.back-button{background:#f8f9fa;border:2px solid #e9ecef;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:1rem;margin-bottom:1rem;transition:all .3s ease;min-height:44px;min-width:80px}.back-button:hover{background:#e9ecef;transform:translate(-2px)}@media (min-width: 768px) and (max-width: 1024px){.back-button{padding:.8rem 1.5rem;font-size:1.1rem;min-height:50px;min-width:100px}}.homework-header h1{font-size:2rem;color:#333;margin-bottom:1rem;text-align:center}.progress-info{text-align:center}.progress-bar{width:100%;height:12px;background:#e9ecef;border-radius:6px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,#4ecdc4,#44a08d);transition:width .5s ease;border-radius:6px}@media (min-width: 768px) and (max-width: 1024px){.progress-bar{height:16px;border-radius:8px;margin-bottom:.8rem}.progress-fill{border-radius:8px}}.progress-text{font-size:1.1rem;font-weight:600;color:#666}.tasks-container{margin-bottom:2rem}.completion-celebration{background:linear-gradient(135deg,#ff9a9e,#fecfef);padding:2rem;border-radius:20px;text-align:center;box-shadow:0 8px 25px #00000026;animation:celebrationBounce .6s ease-out}.completion-celebration h2{font-size:1.8rem;color:#333;margin-bottom:1rem}.completion-celebration p{font-size:1.2rem;color:#666}@keyframes celebrationBounce{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}@media (max-width: 768px){.homework-list-container{padding:1rem}.homework-header{flex-direction:column;gap:1rem;text-align:center}.header-controls{flex-direction:column;gap:12px;width:100%}.view-toggle{justify-content:center}.progress-info{width:100%}}.report-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem;font-family:Arial,sans-serif}.report-header{display:flex;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.demo-data-button{background:linear-gradient(135deg,#feca57,#ff9ff3);border:none;color:#fff;padding:.75rem 1.5rem;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 12px #feca574d}.demo-data-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #feca5766}.empty-data-state{text-align:center;padding:4rem 2rem;color:#666}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.6}.empty-data-state h3{font-size:1.5rem;margin-bottom:1rem;color:#333}.empty-data-state p{font-size:1rem;margin-bottom:2rem;line-height:1.6}.empty-actions{display:flex;flex-direction:column;align-items:center;gap:1rem}.demo-hint{font-size:.9rem;color:#999;margin:0}.report-title{color:#fff;font-size:2rem;font-weight:700;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.3)}.report-loading{display:flex;justify-content:center;align-items:center;height:50vh;color:#fff;font-size:1.5rem}.report-tabs{display:flex;gap:.5rem;margin-bottom:2rem}.tab-button{background:#fff3;border:none;color:#fff;padding:.75rem 1.5rem;border-radius:12px;font-size:1rem;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tab-button:hover{background:#ffffff4d}.tab-button.active{background:#ffffffe6;color:#667eea;font-weight:700}.report-content{background:#fffffff2;border-radius:20px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000001a}.overview-section h3{color:#333;margin-bottom:1rem;font-size:1.3rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 4px 12px #0000001a;transition:transform .3s ease}.stat-card:hover{transform:translateY(-4px)}.stat-card.highlight{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}.stat-icon{font-size:2rem;opacity:.8}.stat-info{flex:1}.stat-value{font-size:2rem;font-weight:700;margin-bottom:.25rem}.stat-label{font-size:.9rem;opacity:.7}.period-stats{margin-top:2rem}.period-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.period-card{background:#fff;border-radius:12px;padding:1rem;text-align:center;box-shadow:0 2px 8px #0000001a}.period-card h4{margin:0 0 .5rem;color:#667eea;font-size:1.1rem}.period-card p{margin:.25rem 0;color:#666;font-size:.9rem}.charts-section{display:grid;gap:2rem}.chart-container{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 12px #0000001a}.chart-container h3{margin:0 0 1rem;color:#333;font-size:1.2rem}.chart-wrapper{position:relative}.pie-chart{height:300px}.bar-chart{height:250px}.details-section h3{color:#333;margin-bottom:1rem;font-size:1.3rem}.details-table{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.table-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;background:#667eea;color:#fff;padding:1rem;font-weight:700}.table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;padding:1rem;border-bottom:1px solid #eee;align-items:center}.table-row:last-child{border-bottom:none}.table-row:nth-child(2n){background:#f8f9fa}.completion-rate{font-weight:700;padding:.25rem .5rem;border-radius:6px;text-align:center}.completion-rate.perfect{background:#4ecdc4;color:#fff}.completion-rate.excellent{background:#45b7d1;color:#fff}.completion-rate.good{background:#96ceb4;color:#fff}.completion-rate.fair{background:#feca57;color:#fff}.completion-rate.poor{background:#ff6b6b;color:#fff}.points{font-weight:700;color:#feca57}.achievement-section{margin-top:2rem}.achievements{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.achievement.earned{background:linear-gradient(135deg,#feca57,#ff9ff3);color:#fff;transform:scale(1.02)}.achievement-name{font-weight:700;margin-bottom:.25rem}.achievement-desc{font-size:.9rem;opacity:.8}@media (max-width: 768px){.report-container{padding:.5rem}.report-title{font-size:1.5rem}.report-content{padding:1rem}.stats-grid{grid-template-columns:1fr}.table-header,.table-row{grid-template-columns:1fr;gap:.5rem}.table-header>div,.table-row>div{padding:.25rem 0}.achievements{grid-template-columns:1fr}.report-tabs{flex-direction:column}}@media (min-width: 768px) and (max-width: 1024px){.report-container{padding:1.5rem;max-width:100%}.report-header{padding:1.5rem 0}.report-title{font-size:2rem}.back-button{padding:.875rem 1.5rem;font-size:1.1rem;min-height:52px}.tabs-container{margin:1.5rem 0}.tab-button{padding:1rem 1.75rem;font-size:1.1rem;min-height:52px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}.stat-card{padding:1.5rem}.stat-value{font-size:2.25rem}.stat-label{font-size:1.1rem}.period-grid{grid-template-columns:repeat(3,1fr);gap:1rem}.period-button{padding:1rem;font-size:1.05rem;min-height:48px}.charts-container{gap:2rem}.chart-card{padding:1.75rem}.chart-title{font-size:1.375rem;margin-bottom:1.25rem}.achievements-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1.25rem}.achievement-card{padding:1.25rem}.achievement-icon{font-size:2.5rem}.achievement-name{font-size:1.1rem}@media (orientation: landscape){.report-container{padding:1.25rem 2rem}.stats-grid{grid-template-columns:repeat(4,1fr)}.charts-container{grid-template-columns:1fr 1fr}.achievements-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}@media (orientation: portrait){.charts-container{grid-template-columns:1fr}.period-grid{grid-template-columns:repeat(2,1fr)}}}.points-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem;font-family:Arial,sans-serif;position:relative}.points-animation{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;background:#00000080;z-index:1000;animation:fadeIn .3s ease}.points-popup{background:linear-gradient(135deg,#feca57,#ff9ff3);color:#fff;padding:2rem 3rem;border-radius:20px;font-size:2rem;font-weight:700;text-align:center;box-shadow:0 10px 30px #0000004d;animation:bounceIn .6s ease}.points-header{display:flex;align-items:center;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.reset-points-button{background:linear-gradient(135deg,#feca57,#ff9ff3);border:none;color:#fff;padding:.75rem 1.5rem;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #feca574d;margin-left:auto}.reset-points-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #feca5766}.points-title{color:#fff;font-size:2rem;font-weight:700;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.3)}.points-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.points-card{background:#fffffff2;border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .3s ease}.points-card:hover{transform:translateY(-4px)}.points-card.main-points{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}.points-card.available-points{background:linear-gradient(135deg,#feca57,#ff9ff3);color:#fff}.points-card.streak{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff}.points-icon{font-size:2.5rem;opacity:.9}.points-info{flex:1}.points-value{font-size:2.5rem;font-weight:700;margin-bottom:.25rem}.points-label{font-size:1rem;opacity:.8}.level-section{margin-bottom:2rem}.level-card{background:#fffffff2;border-radius:20px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000001a}.level-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.level-icon{font-size:3rem}.level-info{flex:1}.level-name{font-size:1.5rem;font-weight:700;color:#333;margin-bottom:.25rem}.level-number{font-size:1rem;color:#666}.level-progress{margin-top:1rem}.progress-info{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.9rem;color:#666}.progress-bar{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,#4ecdc4,#44a08d);border-radius:4px;transition:width .3s ease}.next-level{text-align:center;font-size:.9rem;color:#666}.points-rules{background:#fffffff2;border-radius:20px;padding:2rem;margin-bottom:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000001a}.points-rules h3{color:#333;margin-bottom:1.5rem;font-size:1.3rem}.rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.rule-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.rule-icon{font-size:1.5rem;margin-top:.25rem}.rule-text{flex:1}.rule-title{font-weight:700;color:#333;margin-bottom:.25rem}.rule-desc{font-size:.9rem;color:#666;line-height:1.4}.points-example{background:#fffffff2;border-radius:20px;padding:2rem;margin-bottom:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000001a}.points-example h3{color:#333;margin-bottom:1.5rem;font-size:1.3rem}.example-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.example-scenario{margin-bottom:1rem}.example-scenario h4{color:#667eea;margin:0;font-size:1.1rem}.breakdown{margin-bottom:1.5rem}.breakdown-item{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #eee}.breakdown-item:last-child{border-bottom:none}.breakdown-total{display:flex;justify-content:space-between;padding:.75rem 0;font-weight:700;font-size:1.1rem;color:#333;border-top:2px solid #4ecdc4;margin-top:.5rem}.simulate-button{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease}.simulate-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.achievements-section{background:#fffffff2;border-radius:20px;padding:2rem;margin-bottom:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000001a}.achievements-section h3{color:#333;margin-bottom:1.5rem;font-size:1.3rem}.achievements-group{margin-bottom:2rem}.achievements-group:last-child{margin-bottom:0}.achievements-group h4{color:#667eea;margin-bottom:1rem;font-size:1.1rem}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.achievement{background:#fff;border-radius:12px;padding:1rem;display:flex;align-items:center;gap:1rem;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.achievement.earned{background:linear-gradient(135deg,#feca57,#ff9ff3);color:#fff;transform:scale(1.02);box-shadow:0 4px 16px #0003}.achievement.locked{opacity:.5;filter:grayscale(100%)}.achievement-icon{font-size:2rem}.achievement-info{flex:1}.achievement-name{font-weight:700;margin-bottom:.25rem;font-size:1rem}.achievement-desc{font-size:.9rem;opacity:.8;margin-bottom:.25rem}.achievement-points{font-size:.8rem;font-weight:700;opacity:.9}.recent-points{background:#fffffff2;border-radius:20px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000001a}.recent-points h3{color:#333;margin-bottom:1.5rem;font-size:1.3rem}.points-history{display:flex;flex-direction:column;gap:.5rem}.history-item{display:grid;grid-template-columns:80px 1fr auto;gap:1rem;padding:1rem;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000001a;align-items:center}.history-date{font-size:.9rem;color:#666;font-weight:500}.history-desc{color:#333;font-size:.95rem}.history-points{font-weight:700;color:#4ecdc4;font-size:1rem}@media (max-width: 768px){.points-container{padding:.5rem}.points-title{font-size:1.5rem}.points-overview{grid-template-columns:1fr}.points-card{padding:1rem}.points-value{font-size:2rem}.level-card{padding:1rem}.level-header{flex-direction:column;text-align:center;gap:.5rem}.rules-grid,.achievements-grid{grid-template-columns:1fr}.history-item{grid-template-columns:1fr;gap:.5rem;text-align:center}.points-popup{padding:1.5rem 2rem;font-size:1.5rem}}@media (min-width: 768px) and (max-width: 1024px){.points-container{padding:1.5rem;max-width:100%}.points-header{padding:1.5rem 0}.points-title{font-size:2rem}.back-button{padding:.875rem 1.5rem;font-size:1.1rem;min-height:52px}.points-overview{grid-template-columns:repeat(2,1fr);gap:1.25rem;margin:1.5rem 0}.points-card{padding:1.75rem}.points-icon{font-size:2.5rem}.points-value{font-size:2.25rem}.points-label{font-size:1.1rem}.level-section{margin:2rem 0}.level-card{padding:1.75rem}.level-icon{font-size:3rem}.level-name{font-size:1.5rem}.level-number{font-size:1.1rem}.progress-bar{height:12px}.rules-section{margin:2rem 0}.rules-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}.rule-card{padding:1.5rem}.rule-icon{font-size:2rem}.rule-title{font-size:1.2rem}.rule-description{font-size:1rem}.rule-points{font-size:1.375rem}.achievements-section{margin:2rem 0}.achievements-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}.achievement-card{padding:1.5rem}.achievement-icon{font-size:2.5rem}.achievement-name{font-size:1.2rem}.achievement-description{font-size:1rem}.points-history{margin:2rem 0}.history-item{padding:1.25rem}.history-description{font-size:1.1rem}.history-amount{font-size:1.25rem}@media (orientation: landscape){.points-container{padding:1.25rem 2rem}.points-overview,.rules-grid,.achievements-grid{grid-template-columns:repeat(3,1fr)}}@media (orientation: portrait){.points-overview{grid-template-columns:1fr}.level-card{text-align:center}}}.store-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem;font-family:Arial,sans-serif;position:relative}.purchase-animation{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;background:#00000080;z-index:1000;animation:fadeIn .3s ease}.purchase-popup{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff;padding:3rem;border-radius:20px;text-align:center;box-shadow:0 10px 30px #0000004d;animation:bounceIn .6s ease}.success-icon{font-size:4rem;margin-bottom:1rem}.success-text{font-size:2rem;font-weight:700;margin-bottom:.5rem}.success-desc{font-size:1.2rem;opacity:.9}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease}.purchase-modal{background:#fff;border-radius:20px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #eee}.modal-header h3{margin:0;color:#333;font-size:1.3rem}.close-button{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:.25rem;border-radius:50%;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.close-button:hover{background:#f0f0f0}.modal-content{padding:1.5rem}.reward-preview{display:flex;gap:1rem;margin-bottom:2rem}.reward-icon-large{font-size:4rem;flex-shrink:0}.reward-details{flex:1}.reward-details h4{margin:0 0 .5rem;color:#333;font-size:1.3rem}.reward-details p{margin:0 0 1rem;color:#666;line-height:1.4}.cost-info{display:flex;flex-direction:column;gap:.25rem}.cost{font-weight:700;color:#4ecdc4;font-size:1.1rem}.balance{color:#666;font-size:.9rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.cancel-button,.confirm-button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease}.cancel-button{background:#f0f0f0;color:#666}.cancel-button:hover{background:#e0e0e0}.confirm-button{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}.confirm-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.insufficient-points{text-align:center;padding:1rem;background:#fff3cd;border-radius:8px;margin-bottom:1rem}.insufficient-points p{margin:0 0 1rem;color:#856404}.close-modal-button{background:linear-gradient(135deg,#feca57,#ff9ff3);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .3s ease}.close-modal-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.store-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;gap:1rem}.back-button{background:#fff3;border:none;color:#fff;padding:.75rem 1rem;border-radius:12px;font-size:1rem;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.back-button:hover{background:#ffffff4d;transform:translateY(-2px)}.store-title{color:#fff;font-size:2rem;font-weight:700;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.3);flex:1;text-align:center}.points-display{background:#fff3;padding:.75rem 1rem;border-radius:12px;display:flex;align-items:center;gap:.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.points-icon{font-size:1.2rem}.points-text{color:#fff;font-weight:700;font-size:1.1rem}.balance-card{background:#fffffff2;border-radius:16px;padding:1.5rem;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000001a}.balance-info{display:flex;align-items:center;gap:1rem}.balance-icon{font-size:2.5rem}.balance-details{display:flex;flex-direction:column}.balance-amount{font-size:2rem;font-weight:700;color:#4ecdc4}.balance-label{color:#666;font-size:.9rem}.balance-tip{color:#666;font-size:.9rem;display:flex;align-items:center}.category-filter{display:flex;gap:.5rem;margin-bottom:2rem;overflow-x:auto;padding-bottom:.5rem}.category-button{background:#fff3;border:none;color:#fff;padding:.75rem 1rem;border-radius:12px;font-size:.9rem;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;gap:.5rem;white-space:nowrap;flex-shrink:0}.category-button:hover{background:#ffffff4d}.category-button.active{background:#ffffffe6;color:#667eea;font-weight:700}.category-icon{font-size:1rem}.category-name{font-size:.9rem}.rewards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.reward-card{background:#fffffff2;border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000001a;transition:all .3s ease;position:relative;overflow:hidden}.reward-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000026}.reward-card.popular{border:2px solid #ff6b6b}.reward-card.expensive{opacity:.7}.reward-card.affordable:hover{transform:translateY(-6px)}.popular-badge{position:absolute;top:1rem;right:1rem;background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;padding:.25rem .5rem;border-radius:12px;font-size:.8rem;font-weight:700}.reward-icon{font-size:3rem;text-align:center;margin-bottom:1rem}.reward-info{flex:1;margin-bottom:1rem}.reward-name{color:#333;font-size:1.2rem;font-weight:700;margin:0 0 .5rem}.reward-description{color:#666;font-size:.9rem;line-height:1.4;margin:0 0 1rem}.reward-meta{display:flex;justify-content:space-between;align-items:center}.reward-cost{display:flex;align-items:center;gap:.25rem}.cost-icon{font-size:1rem}.cost-amount{font-weight:700;color:#4ecdc4;font-size:1.1rem}.reward-popularity{font-size:.8rem}.purchase-button{width:100%;padding:.75rem;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.purchase-button.can-afford{background:linear-gradient(135deg,#4ecdc4,#44a08d);color:#fff}.purchase-button.can-afford:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.purchase-button.cannot-afford{background:#e0e0e0;color:#999;cursor:not-allowed}.earning-tips{background:#fffffff2;border-radius:20px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000001a}.earning-tips h3{color:#333;margin-bottom:1.5rem;font-size:1.3rem;text-align:center}.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.tip-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.tip-icon{font-size:1.5rem;margin-top:.25rem}.tip-text{flex:1}.tip-title{font-weight:700;color:#333;margin-bottom:.25rem}.tip-desc{font-size:.9rem;color:#666;line-height:1.4}@media (max-width: 768px){.store-container{padding:.5rem}.store-header{flex-direction:column;gap:1rem}.store-title{font-size:1.5rem;text-align:center}.balance-card{flex-direction:column;gap:1rem;text-align:center}.category-filter{justify-content:flex-start}.rewards-grid{grid-template-columns:1fr;gap:1rem}.reward-card{padding:1rem}.tips-grid{grid-template-columns:1fr}.purchase-modal{width:95%;margin:1rem}.reward-preview{flex-direction:column;text-align:center}.modal-actions{flex-direction:column;gap:.5rem}}@media (min-width: 768px) and (max-width: 1024px){.store-container{padding:1.5rem;max-width:100%}.store-header{padding:1.5rem 0}.store-title{font-size:2rem}.back-button{padding:.875rem 1.5rem;font-size:1.1rem;min-height:52px}.points-display{padding:1.5rem;margin:1.5rem 0}.points-amount{font-size:2.25rem}.points-label{font-size:1.1rem}.categories-container{margin:1.5rem 0}.category-button{padding:1rem 1.5rem;font-size:1.05rem;min-height:48px}.category-icon{font-size:1.375rem}.rewards-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;margin:2rem 0}.reward-card{padding:1.5rem}.reward-icon{font-size:2.5rem}.reward-name{font-size:1.2rem}.reward-description{font-size:1rem}.reward-cost{font-size:1.375rem}.buy-button{padding:.875rem 1.5rem;font-size:1.05rem;min-height:48px}.tips-section{margin:2rem 0}.tips-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem}.tip-card{padding:1.5rem}.tip-icon{font-size:2rem}.tip-title{font-size:1.2rem}.tip-description{font-size:1rem}.modal-content{padding:2rem;max-width:90%}.modal-title{font-size:1.5rem}.modal-description{font-size:1.1rem}.modal-buttons{gap:1rem}.modal-button{padding:1rem 2rem;font-size:1.1rem;min-height:52px}@media (orientation: landscape){.store-container{padding:1.25rem 2rem}.rewards-grid,.tips-grid{grid-template-columns:repeat(3,1fr)}.categories-container{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem}.category-button{flex:0 0 auto;min-width:120px}}@media (orientation: portrait){.rewards-grid,.tips-grid{grid-template-columns:1fr}.categories-container{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;color:#333;background:#f8f9fa}.app{min-height:100vh;display:flex;flex-direction:column}.main-navigation{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 20px #0000001a;position:sticky;top:0;z-index:100}.nav-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.nav-logo{display:flex;align-items:center;gap:.75rem;color:#fff;font-weight:700;font-size:1.25rem}.nav-icon{font-size:2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.nav-title{text-shadow:0 2px 4px rgba(0,0,0,.2)}.nav-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.nav-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:#ffffff26;border:2px solid transparent;border-radius:25px;color:#fff;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:48px}.nav-button:hover{background:#ffffff40;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.nav-button.active{background:#ffffffe6;color:#667eea;border-color:#ffffff4d;box-shadow:0 4px 15px #00000026}.nav-button-icon{font-size:1.25rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.nav-button-text{white-space:nowrap}.app-content{flex:1;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;transition:all .3s ease}button:focus{outline:2px solid #4ecdc4;outline-offset:2px}input,textarea{font-family:inherit}input:focus,textarea:focus{outline:none}@media (max-width: 1024px) and (min-width: 768px){.nav-container{padding:1rem 1.5rem;max-width:100%}.nav-buttons{width:100%;justify-content:center;flex-wrap:wrap;gap:.75rem}.nav-button{flex:1;min-width:160px;max-width:200px;padding:.875rem 1.5rem;font-size:1rem}.main-content{max-width:100%;padding:1.5rem}.homework-form,.homework-list,.report-container{max-width:100%;margin:0 auto}}@media (min-width: 768px) and (max-width: 1024px){.app{font-size:1.1rem}.nav-logo{font-size:1.375rem}.nav-icon{font-size:2.25rem}.nav-button-icon{font-size:1.5rem}.nav-button-text{font-weight:700}.app-content{padding:1.5rem 2rem}@media (orientation: landscape){.nav-container{padding:1rem 3rem}.nav-buttons{gap:1rem}.nav-button{padding:.875rem 2rem;font-size:1.05rem}.app-content{padding:1.25rem 3rem}}@media (orientation: portrait){.nav-container{flex-direction:column;gap:1.25rem;padding:1.5rem 2rem}.nav-buttons{width:100%;justify-content:center;flex-wrap:wrap}.nav-button{flex:1;min-width:140px;max-width:180px}}}@media (max-width: 767px){.nav-container{padding:.75rem 1rem;flex-direction:column;gap:.75rem}.nav-logo{font-size:1.125rem}.nav-icon{font-size:1.75rem}.nav-buttons{width:100%;justify-content:center;gap:.375rem}.nav-button{flex:1;min-width:0;padding:.75rem .5rem;font-size:.875rem;justify-content:center}.nav-button-text{display:none}.nav-button-icon{font-size:1.5rem}@media (max-width: 480px){.nav-buttons{gap:.25rem}.nav-button{padding:.625rem .375rem;border-radius:20px}.nav-button-icon{font-size:1.375rem}}}@media (hover: none) and (pointer: coarse){button{min-height:44px;min-width:44px}input,textarea{font-size:16px}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#4ecdc4;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#44a08d}
