*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}body{color:#1d1d1f;background:linear-gradient(#f2f2f7 0%,#e8ecf4 100%);min-height:100dvh;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}ul,ol{list-style:none}img{max-width:100%;display:block}input,textarea,select{font-family:inherit;font-size:inherit}:root{--bg:#f2f2f7;--bg-card:#ffffffb3;--bg-card-solid:#fff;--border:#0000000f;--primary:#007aff;--primary-light:#007aff1a;--primary-glow:#007aff26;--secondary:#5ac8fa;--accent:#ff9500;--success:#34c759;--error:#ff3b30;--purple:#af52de;--pink:#ff2d55;--teal:#5ac8fa;--text:#1d1d1f;--text-dim:#6e6e73;--text-muted:#aeaeb2;--radius:16px;--radius-sm:12px;--radius-pill:24px;--nav-h:70px;--safe-bottom:env(safe-area-inset-bottom,0px);--shadow-sm:0 2px 12px #0000000a;--shadow-md:0 4px 20px #00000014;--shadow-lg:0 8px 32px #0000001f}#root{min-height:100dvh;position:relative}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#0003}h1,h2,h3,h4{color:#1d1d1f;font-family:Poppins,sans-serif;font-weight:700;line-height:1.25}h1{letter-spacing:-.5px;margin:0;font-size:1.75rem;font-weight:800}h2{margin:0;font-size:1.35rem}h3{margin:0;font-size:1.1rem;font-weight:600}p{color:var(--text-dim);font-size:.95rem;line-height:1.65}.page{width:100%;max-width:600px;margin:0 auto;padding:20px 16px 40px}@media (width>=769px){.page{max-width:800px;padding:24px 24px 40px}}.glass{background:var(--bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow .3s,transform .3s}.btn{border-radius:var(--radius-pill);justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 12px #007aff40}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #007aff4d}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-success{background:var(--success);color:#fff;box-shadow:0 4px 12px #34c75940}.btn-success:hover{filter:brightness(1.05)}.btn-success:disabled{opacity:.45;cursor:not-allowed}.btn-outline{color:var(--text-dim);background:#ffffff80;border:1.5px solid #0000001f}.btn-outline:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-light)}.btn-outline:disabled{opacity:.4;cursor:not-allowed}.btn-sm{padding:8px 16px;font-size:.85rem}.btn-block{width:100%}.progress-bar{background:#0000000f;border-radius:4px;width:100%;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--primary), var(--teal));border-radius:4px;height:100%;transition:width .6s cubic-bezier(.34,1.56,.64,1)}.score-ring{justify-content:center;align-items:center;display:inline-flex;position:relative}.score-ring svg{transform:rotate(-90deg)}.score-ring circle{fill:none;stroke-width:4px}.score-ring .ring-bg{stroke:#0000000f}.score-ring .ring-fill{stroke:var(--primary);stroke-linecap:round;transition:stroke-dashoffset 1s}.score-ring .ring-text{color:var(--text);font-size:.85rem;font-weight:700;position:absolute}.flip-card{perspective:1000px;cursor:pointer}.flip-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.flip-card.flipped .flip-card-inner{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{backface-visibility:hidden;border-radius:var(--radius);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0;overflow:hidden}.flip-card-back{transform:rotateY(180deg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes checkmark{0%{opacity:0;transform:scale(0)rotate(-45deg)}60%{transform:scale(1.3)rotate(-45deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-12px)}60%{transform:translateY(-6px)}}@keyframes sparkle{0%{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;transform:scale(1.2)rotate(180deg)}to{opacity:0;transform:scale(0)rotate(360deg)}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-10px)rotate(0)}to{opacity:0;transform:translateY(40px)rotate(360deg)}}@keyframes glow-pink{0%,to{box-shadow:0 0 15px #ff2d5526}50%{box-shadow:0 0 30px #ff2d554d}}@keyframes slide-right{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes celebrate{0%{transform:scale(1)}25%{transform:scale(1.1)rotate(-3deg)}50%{transform:scale(1.15)rotate(3deg)}75%{transform:scale(1.1)rotate(-2deg)}to{transform:scale(1)rotate(0)}}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-pop{animation:.4s ease-out forwards popIn}.animate-fade-up{animation:.5s ease-out forwards slideUp}.animate-float{animation:3s ease-in-out infinite float}.animate-wiggle{animation:.5s ease-in-out wiggle}.animate-bounce{animation:.6s ease-out bounce}.animate-glow-pink{animation:2s ease-in-out infinite glow-pink}.animate-celebrate{animation:.6s ease-out celebrate}.streak-fire{color:#ff6b00;background:linear-gradient(135deg,#ff95001f,#ff3b301f);border-radius:20px;align-items:center;gap:4px;padding:4px 12px;font-size:.8rem;font-weight:700;animation:1.5s ease-in-out infinite pulse;display:inline-flex}.xp-popup{z-index:250;color:var(--accent);text-shadow:0 2px 8px #ff95004d;pointer-events:none;font-family:Poppins,sans-serif;font-size:2rem;font-weight:900;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.encourage-banner{border-radius:var(--radius-pill);text-align:center;color:#ff2d55;background:linear-gradient(135deg,#ff2d5514,#af52de14);border:1px solid #ff2d551f;padding:12px 20px;font-size:.85rem;font-weight:600;animation:.5s ease-out slideUp}.session-timer{color:var(--primary);background:#007aff0f;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:.78rem;font-weight:600;display:inline-flex}.session-timer .dot-live{background:var(--success);border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite pulse}.subject-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width>=500px){.subject-grid{grid-template-columns:repeat(3,1fr)}}.subject-card{text-align:center;cursor:pointer;padding:16px 12px;transition:all .25s;position:relative;overflow:hidden}.subject-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.subject-card:active{transform:scale(.97)}.subject-card .subject-emoji{margin-bottom:8px;font-size:2rem;display:block}.subject-card .subject-name{color:var(--text);letter-spacing:-.2px;margin-bottom:8px;font-family:Poppins,sans-serif;font-size:.82rem;font-weight:700;line-height:1.35}.subject-card .subject-progress{color:var(--text-muted);font-size:.7rem}.badge{border-radius:var(--radius-pill);align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-xp{color:var(--accent);background:#ff95001f}.badge-streak{color:var(--error);background:#ff3b301f}.badge-level{background:var(--primary-light);color:var(--primary)}.stat-row{flex-wrap:wrap;gap:8px;display:flex}.stat-item{border-radius:var(--radius-sm);text-align:center;flex:1;min-width:80px;padding:12px}.stat-value{font-family:Poppins,sans-serif;font-size:1.25rem;font-weight:700}.stat-label{color:var(--text-muted);margin-top:2px;font-size:.7rem}.simulado-card{cursor:pointer;padding:20px;transition:all .25s}.simulado-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.simulado-card:active{transform:scale(.98)}.quiz-option{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text);background:#fff9;border:1.5px solid #00000014;padding:14px 18px;font-size:.95rem;transition:all .2s}.quiz-option:hover:not(.selected):not(.correct):not(.wrong){border-color:var(--primary);background:var(--primary-light)}.quiz-option.selected{border-color:var(--primary);background:#007aff14}.quiz-option.correct{border-color:var(--success);color:#1a7d37;background:#34c7591a}.quiz-option.wrong{border-color:var(--error);color:#c62828;background:#ff3b3014}.inline-quiz{border-radius:var(--radius-sm);background:#007aff0a;border:1px solid #007aff1a;margin-top:16px;padding:16px}.inline-quiz-title{color:var(--primary);margin-bottom:12px;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600}.inline-q{background:#fff9;border-radius:10px;margin-bottom:12px;padding:12px}.inline-q p{color:var(--text);margin-bottom:8px;font-size:.85rem;font-weight:600}.inline-q-opt{text-align:left;width:100%;color:var(--text);background:#fffc;border:1.5px solid #0000000f;border-radius:8px;margin-bottom:4px;padding:10px 14px;font-size:.85rem;transition:all .2s;display:block}.inline-q-opt:hover:not(.iq-correct):not(.iq-wrong):not(.iq-disabled){border-color:var(--primary);background:var(--primary-light)}.inline-q-opt.iq-correct{border-color:var(--success);color:#1a7d37;background:#34c7591a}.inline-q-opt.iq-wrong{border-color:var(--error);color:#c62828;background:#ff3b300f}.inline-q-opt.iq-disabled{opacity:.5;cursor:default}.inline-q-tip{color:var(--text-dim);border-left:3px solid var(--success);background:#34c7590f;border-radius:6px;margin-top:6px;padding:6px 10px;font-size:.78rem}.dots-nav{flex-wrap:wrap;justify-content:center;gap:4px;padding:8px;display:flex}.dot{background:0 0;border:1.5px solid #0000001f;border-radius:50%;width:10px;height:10px;transition:all .2s}.dot.current{background:var(--primary);border-color:var(--primary);transform:scale(1.3)}.dot.answered{background:var(--text-muted);border-color:var(--text-muted)}.dot.correct-dot{background:var(--success);border-color:var(--success)}.dot.wrong-dot{background:var(--error);border-color:var(--error)}.flashcard-container{width:100%;max-width:420px;margin:0 auto}.flashcard-wrap{height:360px}.flashcard-face{box-shadow:0 12px 48px #ff2d551a,0 4px 16px #0000000d,inset 0 1px #fff9}.flip-card-front.flashcard-face{background:linear-gradient(155deg,#ffffffeb 0%,#ffebf5bf 50%,#ffdceb99 100%);border:1.5px solid #ff2d551a}.flip-card-back.flashcard-face{background:linear-gradient(155deg,#fff0f8f2 0%,#ffd7e8d9 50%,#ffc8debf 100%);border:1.5px solid #ff2d5526}.flashcard-face .card-emoji{filter:drop-shadow(0 4px 8px #00000014);margin-bottom:20px;font-size:2.8rem;animation:3s ease-in-out infinite float;display:block}.flashcard-face .card-q{color:#1a1a2e;letter-spacing:-.3px;max-width:90%;font-family:Poppins,sans-serif;font-size:1.15rem;font-weight:700;line-height:1.55}.flashcard-face .card-hint{color:#ff2d5573;letter-spacing:.3px;margin-top:20px;font-size:.78rem;font-weight:500;animation:2.5s ease-in-out infinite pulse}.flashcard-face .card-a{color:#2a1828;letter-spacing:-.1px;max-width:92%;font-size:1rem;font-weight:500;line-height:1.7}.flashcard-face .card-cat{color:#ff2d5566;letter-spacing:.5px;text-transform:uppercase;margin-top:16px;font-size:.72rem;font-weight:600}.flashcard-wrap:active{transition:transform .15s;transform:scale(.97)}.card-counter{color:#fff;background:linear-gradient(135deg,#ff2d55,#ff6b8a);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-family:Poppins,sans-serif;font-size:1rem;font-weight:800;animation:2s ease-in-out infinite pulse;display:inline-flex;box-shadow:0 4px 16px #ff2d554d}.btn-sabia{border-radius:var(--radius-pill);flex:1;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:.95rem;font-weight:700;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex}.btn-sabia:active{transform:scale(.92)}.btn-sabia-no{color:var(--error);background:linear-gradient(135deg,#ff3b3014,#ff3b3026);border:1.5px solid #ff3b3033}.btn-sabia-no:hover{transform:translateY(-2px);box-shadow:0 4px 20px #ff3b3026}.btn-sabia-yes{color:var(--success);background:linear-gradient(135deg,#34c75914,#34c75926);border:1.5px solid #34c75933}.btn-sabia-yes:hover{transform:translateY(-2px);box-shadow:0 4px 20px #34c75926}.progress-orb{background:conic-gradient(var(--primary) calc(var(--pct) * 1%), #0000000f 0);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-family:Poppins,sans-serif;font-size:.85rem;font-weight:800;display:flex;position:relative}.progress-orb:after{content:attr(data-pct) "%";color:var(--primary);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;display:flex;position:absolute;inset:4px}.achievement-overlay{z-index:200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.achievement-card{text-align:center;width:90%;max-width:320px;padding:32px 24px;animation:.5s ease-out popIn}.achievement-card .ach-emoji{margin-bottom:16px;font-size:4rem;display:block}.achievement-card .ach-title{margin-bottom:8px;font-size:1.5rem}.achievement-card .ach-desc{color:var(--text-dim);margin-bottom:20px}.micro-block{border-left:4px solid var(--primary);background:#ffffffa6;border-radius:14px;margin-bottom:12px;padding:16px 18px;transition:all .2s;box-shadow:0 1px 6px #00000005}.micro-block:hover{background:#fffc;transform:translate(4px);box-shadow:0 2px 12px #0000000a}.micro-block p{color:#3a3a4a;letter-spacing:-.1px;font-size:.92rem;line-height:1.7}.micro-block strong,.micro-block b{color:var(--primary);font-weight:700}.micro-block:before{content:"";background:var(--primary);opacity:.4;border-radius:50%;width:6px;height:6px;margin-bottom:8px;display:block}.section-header{border-radius:var(--radius-sm);cursor:pointer;background:#00000005;justify-content:space-between;align-items:center;padding:14px 16px;transition:all .2s;display:flex}.section-header:hover{background:#007aff0a}.section-header h3{font-size:.95rem}.section-done{color:var(--success);animation:.4s ease-out checkmark}.section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;padding-left:4px;font-size:.7rem;font-weight:600}.timer{color:var(--primary);font-family:Poppins,monospace;font-size:1.1rem;font-weight:600}.timer.warning{color:var(--accent)}.timer.danger{color:var(--error);animation:1s ease-in-out infinite pulse}.cat-pills{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding:4px 0;display:flex;overflow-x:auto}.cat-pills::-webkit-scrollbar{display:none}.cat-pill{white-space:nowrap;border-radius:var(--radius-pill);color:var(--text-dim);background:#fff9;border:1.5px solid #00000014;flex-shrink:0;padding:8px 16px;font-size:.8rem;font-weight:600;transition:all .2s}.cat-pill.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.result-card{text-align:center;padding:32px 20px}.result-emoji{margin-bottom:16px;font-size:4rem;display:block}.result-score{color:var(--primary);font-family:Poppins,sans-serif;font-size:3rem;font-weight:800}.result-label{color:var(--text-dim);margin-top:4px}.divider{background:#0000000f;height:1px;margin:16px 0}.text-center{text-align:center}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.gap-8{gap:8px}.gap-12{gap:12px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.w-full{width:100%}.focus-timer{color:var(--primary);background:linear-gradient(135deg,#007aff0f,#5ac8fa0f);border:1px solid #007aff1a;border-radius:20px;align-items:center;gap:8px;padding:8px 16px;font-family:Poppins,sans-serif;font-size:.82rem;font-weight:700;display:inline-flex}.focus-timer .timer-dot{background:var(--success);border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse}.daily-goal{background:linear-gradient(135deg,#ff95000f,#ff2d550a);border:1px solid #ff95001f;border-radius:16px;align-items:center;gap:14px;padding:16px 20px;display:flex}.daily-goal-icon{background:#ff95001a;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.3rem;display:flex}.daily-goal-text{color:var(--text);font-size:.85rem;font-weight:600;line-height:1.4}.daily-goal-text span{color:var(--accent);font-weight:800}.milestone{text-align:center;background:linear-gradient(135deg,#34c7590f,#007aff0a);border:1px solid #34c7591f;border-radius:20px;padding:20px;animation:.5s ease-out popIn}.milestone-emoji{margin-bottom:8px;font-size:2.5rem;animation:.8s ease-out bounce;display:block}.milestone-text{color:var(--text);font-family:Poppins,sans-serif;font-size:1rem;font-weight:700}.milestone-sub{color:var(--text-dim);margin-top:4px;font-size:.82rem}.swipe-hint{color:var(--text-muted);justify-content:center;align-items:center;gap:20px;padding:10px 0;font-size:.75rem;font-weight:500;display:flex}.swipe-hint .arrow-left{animation:1.5s ease-in-out infinite reverse slide-right}.swipe-hint .arrow-right{animation:1.5s ease-in-out infinite slide-right}.check-anim{background:var(--success);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.4rem;animation:.4s cubic-bezier(.34,1.56,.64,1) popIn;display:flex;box-shadow:0 4px 16px #34c75940}.breathe-circle{width:60px;height:60px;color:var(--primary);background:radial-gradient(circle,#007aff14,#007aff05);border:2px solid #007aff1f;border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;font-weight:600;animation:4s ease-in-out infinite breathe-in-out;display:flex}@keyframes breathe-in-out{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.fab{background:var(--primary);color:#fff;z-index:90;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.5rem;transition:all .3s;animation:3s ease-in-out infinite pulse;display:flex;position:fixed;bottom:80px;right:16px;box-shadow:0 4px 20px #007aff4d}.fab:active{transform:scale(.9)}.xp-float{z-index:300;pointer-events:none;color:#ff9500;text-shadow:0 2px 10px #ff95004d;font-family:Poppins,sans-serif;font-size:1.8rem;font-weight:900;position:fixed}.wiggle{animation:.4s ease-in-out wiggle-strong}@keyframes wiggle-strong{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.levelup-overlay{z-index:400;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.levelup-card{text-align:center;background:#fff;border-radius:24px;width:90%;max-width:300px;padding:40px 32px;animation:.5s cubic-bezier(.34,1.56,.64,1) popIn;box-shadow:0 20px 60px #00000026}.levelup-number{background:linear-gradient(135deg,#007aff,#5ac8fa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-family:Poppins,sans-serif;font-size:4rem;font-weight:900}.combo-badge{z-index:200;color:#fff;background:linear-gradient(135deg,#ff9500,#ff2d55);border-radius:20px;padding:8px 16px;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:800;animation:.3s ease-out popIn,1.5s ease-in-out infinite pulse;position:fixed;top:80px;right:16px;box-shadow:0 4px 20px #ff95004d}.particle-burst{pointer-events:none;z-index:250;border-radius:50%;width:4px;height:4px;position:fixed;top:50%;left:50%}.particle-burst:before,.particle-burst:after{content:"";border-radius:50%;width:6px;height:6px;position:absolute}.particle-burst:before{background:#34c759;animation:.6s ease-out forwards particle-fly-1}.particle-burst:after{background:#ff9500;animation:.6s ease-out forwards particle-fly-2}@keyframes particle-fly-1{to{opacity:0;transform:translate(-30px,-40px)}}@keyframes particle-fly-2{to{opacity:0;transform:translate(30px,-35px)}}.btn-glow-success{animation:1.5s ease-in-out infinite glow-green}@keyframes glow-green{0%,to{box-shadow:0 0 8px #34c75933}50%{box-shadow:0 0 24px #34c75980}}.subject-complete-shine{position:relative;overflow:hidden}.subject-complete-shine:after{content:"";background:linear-gradient(45deg,#0000 40%,#ffffff4d 50%,#0000 60%);width:200%;height:200%;animation:3s ease-in-out infinite shine-sweep;position:absolute;top:-50%;left:-50%}@keyframes shine-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.xp-badge-bounce{animation:.3s ease-out xp-scale-bounce}@keyframes xp-scale-bounce{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}.phase-banner{z-index:260;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.phase-card{text-align:center;background:#fff;border-radius:24px;width:90%;max-width:320px;padding:32px;animation:.5s ease-out popIn;box-shadow:0 20px 60px #00000026}.break-overlay{z-index:270;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#007aff0d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.break-card{text-align:center;background:#fff;border-radius:24px;width:90%;max-width:340px;padding:40px 32px;box-shadow:0 20px 60px #0000001f}.subject-pill{border-radius:20px;align-items:center;gap:6px;padding:3px 12px;font-size:.7rem;font-weight:600;display:inline-flex}.dots-phase-group{margin-bottom:8px}.dots-phase-label{color:var(--text-muted);text-align:center;margin-bottom:4px;font-size:.65rem;font-weight:600}.subject-bar{background:#00000005;border-radius:10px;align-items:center;gap:8px;margin-bottom:6px;padding:8px 12px;display:flex}.subject-bar-fill{background:#0000000f;border-radius:3px;flex:1;height:6px;overflow:hidden}.subject-bar-fill-inner{border-radius:3px;height:100%;transition:width .8s}.milestone-toast{z-index:250;border-radius:var(--radius-pill);color:var(--text);white-space:nowrap;background:#fff;padding:12px 24px;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:700;position:fixed;bottom:100px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0000001f}.micro-block-reading{border-left:4px solid #0000;border-image:linear-gradient(to bottom, var(--primary) var(--read-pct,0%), #007aff26 var(--read-pct,0%)) 1}.fc-tint-rose .flip-card-front.flashcard-face{background:linear-gradient(155deg,#ffffffeb 0%,#ffebf5bf 50%,#ffdceb99 100%)}.fc-tint-lavender .flip-card-front.flashcard-face{background:linear-gradient(155deg,#ffffffeb 0%,#ebe1ffbf 50%,#dcd2ff99 100%)}.fc-tint-lavender .flip-card-back.flashcard-face{background:linear-gradient(155deg,#f5f0fff2 0%,#e1d7ffd9 50%,#d2c8ffbf 100%)}.fc-tint-peach .flip-card-front.flashcard-face{background:linear-gradient(155deg,#ffffffeb 0%,#ffebdcbf 50%,#ffdcc899 100%)}.fc-tint-peach .flip-card-back.flashcard-face{background:linear-gradient(155deg,#fff5eef2 0%,#ffe1d2d9 50%,#ffd2bebf 100%)}.fc-tint-mint .flip-card-front.flashcard-face{background:linear-gradient(155deg,#ffffffeb 0%,#dcffebbf 50%,#c8ffdc99 100%)}.fc-tint-mint .flip-card-back.flashcard-face{background:linear-gradient(155deg,#f0fff5f2 0%,#d2ffe1d9 50%,#beffd2bf 100%)}.fc-golden-glow{border:2px solid #ffd70080!important;box-shadow:0 0 20px #ffd70066,0 0 40px #ffd70033!important}.speed-challenge{border-radius:var(--radius-sm);text-align:center;color:var(--accent);background:linear-gradient(135deg,#ff950014,#ff2d550f);border:1px solid #ff950026;padding:10px 16px;font-size:.82rem;font-weight:700;animation:2s ease-in-out infinite pulse}.genius-title{background:linear-gradient(135deg,gold,#ff9500);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-family:Poppins,sans-serif;font-size:2rem;font-weight:900;animation:.6s ease-out celebrate}
