@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Outfit:wght@400;500;600;700;800;900&display=swap";.security-fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:99999;display:flex;justify-content:center;align-items:center}.calc-bg{background:var(--bg-surface);color:var(--text-primary);flex-direction:column}.calc-container{width:100%;max-width:340px;background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);overflow:hidden;padding:24px 20px}.calc-header{font-size:14px;font-weight:600;text-align:left;color:var(--text-secondary);margin-bottom:24px}.calc-display-area{text-align:right;margin-bottom:30px;padding:0 10px}.calc-history{font-family:var(--font-display);font-size:14px;color:var(--text-muted);height:20px;margin-bottom:4px}.calc-display{font-family:var(--font-display);font-size:56px;font-weight:700;color:var(--text-primary);line-height:1;overflow:hidden;white-space:nowrap}.calc-keypad{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.calc-btn{background:#ffffff0f;border:1px solid transparent;font-size:22px;font-weight:600;color:var(--text-primary);padding:18px 0;border-radius:var(--radius-md);transition:all .15s}.calc-btn:hover{background:#ffffff1f}.calc-btn:active{background:#fff3;transform:scale(.95)}.calc-op{background:#6c63ff26;color:#a78bfa}.calc-op:hover{background:#6c63ff40}.calc-clear{color:var(--urgent-red)}.fake-copy{margin-top:20px}.app-ready-container{height:100%}.app-blur-container{height:100vh;width:100vw;overflow:hidden;filter:blur(12px) grayscale(40%);pointer-events:none;opacity:.5;transition:filter .5s ease-out,opacity .5s ease-out}.lock-overlay{background:#08090fd9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.lock-box{width:100%;max-width:320px;padding:30px 20px 40px;text-align:center;border-color:#ffffff1a}.lock-icon{font-size:42px;margin-bottom:12px;animation:float-bounce 3s infinite ease-in-out}.lock-title{font-family:var(--font-display);font-size:22px;font-weight:800;margin-bottom:8px;color:var(--text-primary)}.lock-sub{font-size:13px;color:var(--text-secondary);margin-bottom:28px}.pin-dots{display:flex;justify-content:center;gap:14px;margin-bottom:34px}.pin-dot{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.3);transition:all .2s cubic-bezier(.34,1.56,.64,1)}.pin-dot.filled{background:#fff;border-color:#fff;transform:scale(1.15);box-shadow:0 0 12px #fffc}.lock-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 10px}.key-btn{background:#ffffff0a;color:var(--text-primary);border:1px solid rgba(255,255,255,.08);border-radius:50%;width:65px;height:65px;font-size:26px;font-weight:500;margin:0 auto;transition:all .15s;display:flex;justify-content:center;align-items:center}.key-btn:hover{background:#ffffff1a}.key-btn:active{background:#fff3;transform:scale(.92)}.key-action{font-size:22px;background:transparent;border-color:transparent}.key-action:hover{background:#ffffff0d}.key-ok{color:var(--safe-green)}.shake{animation:lock-shake .4s cubic-bezier(.36,.07,.19,.97) both;border-color:#ff3d5a66}@keyframes lock-shake{10%,90%{transform:translate3d(-3px,0,0)}20%,80%{transform:translate3d(6px,0,0)}30%,50%,70%{transform:translate3d(-10px,0,0)}40%,60%{transform:translate3d(10px,0,0)}}:root{--bg-base: #08090f;--bg-surface: #0e1018;--bg-elevated: #141622;--glass-bg: rgba(255,255,255,.04);--glass-border: rgba(255,255,255,.09);--glass-shadow: 0 8px 32px rgba(0,0,0,.5);--text-primary: #f0f2ff;--text-secondary: #8892b0;--text-muted: #4a5568;--brand-primary: #6C63FF;--brand-glow: rgba(108,99,255,.4);--urgent-red: #FF3D5A;--safe-green: #39FF14;--sp-sm: 8px;--sp-md: 16px;--sp-lg: 24px;--sp-xl: 32px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 999px;--ease-out: cubic-bezier(.22,1,.36,1);--ease-bounce: cubic-bezier(.34,1.56,.64,1);--font-display: "Outfit", sans-serif;--font-body: "Inter", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg-base);color:var(--text-primary);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}button{cursor:pointer;font-family:inherit;border:none;background:none;outline:none}input,textarea,select{font-family:inherit;color:var(--text-primary)}#particles-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}#particles-bg:before{content:"";position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(108,99,255,.12) 0%,transparent 70%);top:-200px;left:-200px;border-radius:50%;animation:orb-drift 20s ease-in-out infinite alternate}#particles-bg:after{content:"";position:absolute;width:500px;height:500px;background:radial-gradient(circle,rgba(0,210,255,.08) 0%,transparent 70%);bottom:-150px;right:-100px;border-radius:50%;animation:orb-drift 25s ease-in-out infinite alternate-reverse}@keyframes orb-drift{0%{transform:translate(0) scale(1)}50%{transform:translate(60px,40px) scale(1.1)}to{transform:translate(-30px,80px) scale(.95)}}#app-main{position:relative;z-index:1;padding-bottom:84px;min-height:100vh}.glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow)}.section-pad{padding:18px 20px}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;background:linear-gradient(135deg,var(--brand-primary),#9d55ff);color:#fff;font-family:var(--font-display);font-weight:600;font-size:14px;border-radius:var(--radius-full);transition:all .28s var(--ease-out);box-shadow:0 4px 20px var(--brand-glow);white-space:nowrap}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px var(--brand-glow)}.btn-primary:disabled{opacity:.5;transform:none}.btn-primary.btn-lg{padding:15px 28px;font-size:16px}.btn-primary.btn-full{width:100%;justify-content:center}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary);font-size:20px;transition:all .15s}.btn-icon:hover{background:#ffffff14;transform:scale(1.08)}.btn-ghost{background:transparent!important;border-color:transparent!important}.section-title{font-family:var(--font-display);font-size:18px;font-weight:700}.muted-label{font-size:13px;color:var(--text-secondary)}.section-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-md)}.view-container{max-width:700px;margin:0 auto;padding:20px 16px 40px;display:flex;flex-direction:column;gap:var(--sp-lg)}.hidden{display:none!important}.subject-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-full);background:var(--s-dark,rgba(255,255,255,.05));border:1px solid var(--s-color,rgba(255,255,255,.1));font-size:12px;font-weight:600;color:var(--s-color,var(--text-secondary))}.subject-badge-xs{padding:3px 8px;font-size:11px}.subject-dot{width:6px;height:6px;border-radius:50%;background:var(--s-color,var(--text-muted));box-shadow:0 0 5px var(--s-glow,transparent);flex-shrink:0}.stats-row{display:flex;gap:10px}.stat-chip{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 8px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);font-size:12px;text-align:center}.stat-chip.clickable{cursor:pointer;transition:all .15s}.stat-chip.clickable:hover{background:#ffffff0f}.stat-chip.stat-chip-danger{border-color:#ff3d5a4d}.stat-icon{font-size:20px}.stat-val{font-family:var(--font-display);font-size:20px;font-weight:800;color:var(--text-primary)}.stat-label{color:var(--text-muted);font-size:11px;font-weight:600}.urgency-banner{display:flex;align-items:center;gap:10px;padding:13px 18px;background:#ff3d5a1a;border:1px solid rgba(255,61,90,.35);border-radius:var(--radius-md);color:#ff6b7a;font-weight:600;font-size:14px;animation:banner-pulse 2s ease-in-out infinite}@keyframes banner-pulse{0%,to{box-shadow:0 0 #ff3d5a33}50%{box-shadow:0 0 0 6px transparent}}.progress-track{height:8px;background:#ffffff0f;border-radius:var(--radius-full);overflow:hidden;margin-bottom:12px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--brand-primary),#00D2FF);border-radius:var(--radius-full);transition:width .8s var(--ease-out)}.week-dots{display:flex;gap:6px;justify-content:space-between}.day-dot{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1}.day-dot-circle{width:28px;height:28px;border-radius:50%;background:#ffffff0a;border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;font-size:13px;transition:all .15s}.day-dot.studied .day-dot-circle{background:linear-gradient(135deg,var(--brand-primary),#9d55ff);border-color:transparent;box-shadow:0 0 10px var(--brand-glow)}.day-dot.today .day-dot-circle{border-color:var(--brand-primary)}.day-label{font-size:10px;color:var(--text-muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.filter-tabs{display:flex;gap:3px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-full);padding:3px}.filter-tab{padding:6px 14px;border-radius:var(--radius-full);font-size:12px;font-weight:600;color:var(--text-secondary);transition:all .15s}.filter-tab.active{background:linear-gradient(135deg,var(--brand-primary),#9d55ff);color:#fff;box-shadow:0 2px 8px var(--brand-glow)}.exams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.exam-card{position:relative;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:20px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overflow:hidden;transition:all .28s var(--ease-out);animation:card-in .45s var(--ease-out) both;cursor:default}.exam-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--subject-color,var(--brand-primary));box-shadow:0 0 14px var(--subject-glow,var(--brand-glow))}.exam-card:after{content:"";position:absolute;top:0;left:0;right:0;height:70px;background:linear-gradient(to bottom,var(--subject-dark,transparent),transparent);pointer-events:none}@keyframes card-in{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.exam-card.urgency-critical{border-color:#ff3d5a66;animation:card-in .45s var(--ease-out) both,pulse-ring 2.5s ease-in-out infinite .5s}.exam-card.urgency-high{border-color:#ff8c424d}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--subject-glow,var(--brand-glow))}70%{box-shadow:0 0 0 10px transparent}to{box-shadow:0 0 0 0 transparent}}.card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px;position:relative;z-index:1}.card-delete-btn{opacity:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ff3d5a1a;border:1px solid rgba(255,61,90,.2);color:var(--urgent-red);font-size:14px;transition:all .15s}.exam-card:hover .card-delete-btn{opacity:1}.card-topic{font-family:var(--font-display);font-size:16px;font-weight:700;margin-bottom:5px;position:relative;z-index:1}.card-date{font-size:12px;color:var(--text-secondary);margin-bottom:12px;position:relative;z-index:1}.card-countdown{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--radius-full);font-size:12px;font-weight:700;margin-bottom:13px;position:relative;z-index:1}.card-countdown.critical{background:#ff3d5a1f;border:1px solid rgba(255,61,90,.4);color:#ff6b7a}.card-countdown.high{background:#ff8c421a;border:1px solid rgba(255,140,66,.3);color:#ff8c42}.card-countdown.medium{background:#ffd60a14;border:1px solid rgba(255,214,10,.25);color:#ffd60a}.card-countdown.low{background:#39ff140f;border:1px solid rgba(57,255,20,.2);color:var(--safe-green)}.reinforced-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--safe-green);margin-bottom:9px;position:relative;z-index:1}.card-cta{width:100%;padding:11px;border-radius:var(--radius-md);font-family:var(--font-display);font-size:13px;font-weight:700;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--subject-color,var(--brand-primary)) 70%,#000),var(--subject-color,var(--brand-primary)));transition:all .28s var(--ease-out);box-shadow:0 4px 14px var(--subject-glow,var(--brand-glow));position:relative;z-index:1}.card-cta:hover{transform:translateY(-1px);box-shadow:0 7px 20px var(--subject-glow,var(--brand-glow))}.empty-state{text-align:center;padding:48px 24px;display:flex;flex-direction:column;align-items:center;gap:14px}.empty-icon{font-size:52px;animation:float-bounce 3s ease-in-out infinite}@keyframes float-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-state h3{font-family:var(--font-display);font-size:20px;font-weight:700}.empty-state p{font-size:14px;color:var(--text-secondary);max-width:260px}.fab{position:fixed;bottom:90px;right:20px;z-index:200;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--brand-primary),#9d55ff);color:#fff;font-size:28px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px var(--brand-glow);transition:all .28s var(--ease-bounce)}.fab:hover{transform:scale(1.1) rotate(90deg)}.fab-group{position:fixed;bottom:90px;right:20px;z-index:200;display:flex;flex-direction:column;align-items:center;gap:10px}.fab-mini{width:44px;height:44px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--glass-border);color:var(--text-primary);font-size:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0006;transition:all .2s}.fab-mini:hover{transform:scale(1.08);background:#ffffff14}.fab-group .fab{position:static}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);z-index:9999;display:flex;align-items:center;gap:10px;padding:12px 20px;background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);font-size:14px;font-weight:500;animation:toast-in .3s var(--ease-bounce);white-space:nowrap}.toast-success{border-color:#39ff144d}.toast-error{border-color:#ff3d5a4d}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(16px) scale(.9)}to{opacity:1;transform:translate(-50%) scale(1)}}.medals-panel{padding:18px 20px}.medals-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.medal-item{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 14px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);min-width:80px;text-align:center;transition:all .15s}.medal-item:not(.locked){border-color:#ffc4004d;box-shadow:0 3px 16px #ffc4001f}.medal-item.locked{opacity:.3;filter:grayscale(1)}.medal-emoji{font-size:26px}.medal-title{font-size:10px;font-weight:600;color:var(--text-secondary);line-height:1.3}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-base);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;z-index:9999}.loading-logo{font-family:var(--font-display);font-size:28px;font-weight:800;background:linear-gradient(135deg,#6c63ff,#a78bfa,#00d2ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.loading-screen p{color:var(--text-secondary);font-size:14px}.pulse-loader{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--brand-primary),#9d55ff);animation:pulse-glow 1.2s ease-in-out infinite}@keyframes pulse-glow{0%,to{transform:scale(.8);opacity:.6}50%{transform:scale(1);opacity:1}}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.form-group{margin-bottom:16px}.form-label{display:block;font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.optional{font-weight:400;text-transform:none;letter-spacing:0;color:var(--text-muted)}.form-input{width:100%;padding:12px 14px;background:#ffffff0a;border:1.5px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:15px;transition:all .15s;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{border-color:var(--brand-primary);background:#6c63ff0d;box-shadow:0 0 0 3px #6c63ff26}.form-input[type=date]{color-scheme:dark}.form-textarea{resize:vertical;min-height:80px}.input-hint{display:block;margin-top:5px;font-size:12px;color:var(--text-muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.subject-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.subject-option{display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 5px;background:var(--glass-bg);border:1.5px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s}.subject-option:hover{border-color:var(--s-color);background:#ffffff0a}.subject-option.selected{border-color:var(--s-color);box-shadow:0 0 14px var(--s-glow)}.subject-option-icon{font-size:18px}.subject-option-name{font-size:9px;font-weight:700;text-align:center;color:var(--s-color,var(--text-muted));opacity:.75}.subject-option.selected .subject-option-name{opacity:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:overlay-in .25s}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.modal-card{width:100%;max-width:500px;max-height:92vh;overflow-y:auto;padding:24px 20px;position:relative;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important;animation:sheet-in .35s var(--ease-bounce)}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-close{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid var(--glass-border);color:var(--text-secondary);transition:all .15s}.modal-close:hover{background:#ff3d5a26;color:var(--urgent-red);transform:rotate(90deg)}.modal-title{font-family:var(--font-display);font-size:20px;font-weight:800;margin-bottom:20px;display:flex;align-items:center;gap:8px}#main-header{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;position:sticky;top:0;z-index:100;background:#08090fcc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border)}.logo{display:flex;align-items:center;gap:8px}.logo-icon{font-size:22px;filter:drop-shadow(0 0 6px rgba(108,99,255,.8))}.logo-text{font-family:var(--font-display);font-size:20px;font-weight:800;background:linear-gradient(135deg,#6c63ff,#a78bfa,#00d2ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-right{display:flex;align-items:center;gap:10px}.streak-widget{display:flex;align-items:center;gap:5px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-full);padding:7px 13px}.streak-flame{font-size:18px}.streak-count{font-family:var(--font-display);font-size:17px;font-weight:800;color:#ffc400}.streak-label{font-size:11px;color:var(--text-secondary)}.points-widget{display:flex;align-items:center;gap:5px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-full);padding:7px 13px}.points-count{font-family:var(--font-display);font-size:16px;font-weight:700;color:#ffc400}#bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;background:#08090fe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);padding:8px 0 env(safe-area-inset-bottom,8px)}.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;color:var(--text-muted);transition:all .2s}.nav-btn.active{color:var(--brand-primary)}.nav-icon{font-size:22px;transition:transform .2s var(--ease-bounce)}.nav-btn.active .nav-icon{transform:scale(1.15);filter:drop-shadow(0 0 6px var(--brand-glow))}.nav-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.day-checkboxes{display:flex;gap:6px;flex-wrap:wrap}.day-checkbox{padding:7px 12px;border-radius:var(--radius-full);background:var(--glass-bg);border:1.5px solid var(--glass-border);font-size:12px;font-weight:700;color:var(--text-secondary);cursor:pointer;transition:all .15s}.day-checkbox.checked{background:#6c63ff26;border-color:var(--brand-primary);color:var(--brand-primary)}.type-selector{display:flex;gap:7px;flex-wrap:wrap}.type-btn{padding:7px 13px;border-radius:var(--radius-full);background:var(--glass-bg);border:1.5px solid var(--glass-border);font-size:12px;font-weight:600;color:var(--text-secondary);transition:all .15s}.type-btn.active{background:#6c63ff26;border-color:var(--brand-primary);color:var(--brand-primary)}.priority-selector{display:flex;gap:8px}.priority-btn{flex:1;padding:9px;border-radius:var(--radius-md);background:var(--glass-bg);border:1.5px solid var(--glass-border);font-size:13px;font-weight:700;color:var(--text-secondary);transition:all .15s}.priority-btn.active{border-color:var(--p-color);color:var(--p-color);background:#ffffff0a;box-shadow:0 0 10px color-mix(in srgb,var(--p-color) 30%,transparent)}.schedule-view{max-width:100%;padding:16px 10px 80px}.schedule-header{display:flex;align-items:center;justify-content:space-between;padding:0 6px;margin-bottom:12px}.view-toggle{display:flex;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-full);padding:3px;gap:2px}.view-toggle-btn{padding:6px 14px;border-radius:var(--radius-full);font-size:12px;font-weight:700;color:var(--text-secondary);transition:all .15s}.view-toggle-btn.active{background:linear-gradient(135deg,var(--brand-primary),#9d55ff);color:#fff}.day-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px 4px 8px;scrollbar-width:none}.day-tabs::-webkit-scrollbar{display:none}.day-tab{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:42px;padding:8px 6px;border-radius:var(--radius-md);border:1.5px solid var(--glass-border);background:var(--glass-bg);transition:all .15s;flex-shrink:0}.day-tab.active{background:#6c63ff26;border-color:var(--brand-primary)}.day-tab.today-tab .day-tab-num{color:var(--brand-primary);font-weight:800}.day-tab-name{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase}.day-tab-num{font-family:var(--font-display);font-size:17px;font-weight:700;color:var(--text-primary)}.day-tab-dots{display:flex;gap:3px;height:6px;align-items:center}.dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.dot-exam{background:#ff3d5a;box-shadow:0 0 4px #ff3d5a80}.dot-task{background:#ffc400;box-shadow:0 0 4px #ffc40066}.schedule-grid{display:flex;gap:2px;overflow-x:auto;background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--glass-border)}.schedule-grid.day{display:block}.time-labels-col{display:flex;flex-direction:column;flex-shrink:0;width:42px;padding-top:52px}.time-label-cell{height:64px;display:flex;align-items:flex-start;padding-top:4px;justify-content:flex-end;padding-right:6px;font-size:10px;color:var(--text-muted);font-weight:600}.day-column{flex:1;min-width:120px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.04)}.day-column:last-child{border-right:none}.schedule-grid.day .day-column{min-width:unset;border-right:none}.today-col{background:#6c63ff08}.day-col-header{display:flex;align-items:center;gap:6px;padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.06);position:sticky;top:0;background:var(--bg-surface);z-index:5;flex-wrap:wrap}.day-col-name{font-size:12px;font-weight:800;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.day-col-date{font-family:var(--font-display);font-size:18px;font-weight:800;color:var(--text-primary)}.today-header .day-col-name,.today-header .day-col-date{color:var(--brand-primary)}.today-chip{font-size:9px;font-weight:800;padding:2px 7px;border-radius:var(--radius-full);background:var(--brand-primary);color:#fff;text-transform:uppercase;letter-spacing:.05em}.day-exam-pill{display:flex;align-items:center;gap:5px;padding:5px 9px;border-radius:var(--radius-sm);margin:3px 6px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;border-left:3px solid var(--s-color,#FF3D5A);background:#ff3d5a14;color:#ff8a96}.day-exam-pill.urgency-critical{background:#ff3d5a1f;animation:banner-pulse 2s ease-in-out infinite}.day-exam-pill.urgency-high{background:#ff8c4214;border-color:#ff8c42;color:#ff8c42}.day-exam-pill.urgency-medium{background:#ffd60a0f;border-color:#ffd60a;color:#ffd60a}.day-exam-pill.urgency-low{background:#39ff140d;border-color:var(--safe-green);color:var(--safe-green)}.day-exam-pill:hover{transform:translate(3px)}.day-task-pill{display:flex;align-items:center;gap:5px;padding:4px 9px;border-radius:var(--radius-sm);margin:2px 6px;font-size:11px;font-weight:500;border-left:3px solid var(--s-color,#FFC400);background:#ffc4000f;color:var(--text-secondary)}.day-task-pill.priority-high{border-color:#ff3d5a;background:#ff3d5a0f}.day-task-pill.priority-medium{border-color:#ffc400}.day-task-pill.priority-low{border-color:#39ff14;background:#39ff140a}.time-grid{position:relative;flex:1}.hour-line{position:absolute;left:0;right:0;height:64px;border-top:1px dashed rgba(255,255,255,.04)}.hour-label{position:absolute;left:8px;top:4px;font-size:10px;color:var(--text-muted);font-weight:600}.class-block{position:absolute;left:4px;right:4px;background:var(--s-dark,rgba(108,99,255,.1));border:1px solid var(--s-color,var(--brand-primary));border-radius:var(--radius-sm);overflow:hidden;z-index:2;transition:all .15s;cursor:pointer}.class-block:hover{box-shadow:0 4px 16px var(--s-glow,var(--brand-glow));transform:translate(1px)}.class-block:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--s-color,var(--brand-primary));box-shadow:0 0 8px var(--s-glow,var(--brand-glow))}.class-block-inner{display:flex;align-items:flex-start;gap:5px;padding:5px 6px 5px 10px;height:100%;position:relative}.class-icon{font-size:14px;flex-shrink:0;margin-top:1px}.class-info{flex:1;min-width:0;overflow:hidden}.class-name{display:block;font-size:11px;font-weight:700;color:var(--s-color,var(--text-primary));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-time{display:block;font-size:10px;color:var(--text-secondary);font-weight:600}.class-teacher,.class-room{display:block;font-size:10px;color:var(--text-muted)}.class-delete-btn{opacity:0;position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;background:#ff3d5a33;color:var(--urgent-red);font-size:10px;display:flex;align-items:center;justify-content:center;transition:all .15s}.class-block:hover .class-delete-btn{opacity:1}.schedule-legend{display:flex;gap:16px;padding:8px 4px;font-size:12px;color:var(--text-muted);font-weight:600}.legend-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}@media (max-width: 480px){.schedule-view{padding:12px 8px 80px}.day-column{min-width:100px}}.tasks-view{gap:14px}.tasks-list{display:flex;flex-direction:column;gap:6px}.tasks-date-group{margin-bottom:8px}.tasks-date-label{font-size:12px;font-weight:800;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;padding:10px 4px 6px}.tasks-date-label.overdue{color:var(--urgent-red)}.task-card{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);border-left:3px solid var(--s-color,var(--brand-primary));transition:all .2s;animation:card-in .4s var(--ease-out) both;position:relative}.task-card:hover{background:#ffffff0f}.task-card.completed{opacity:.5}.task-card.priority-high{border-left-color:#ff3d5a}.task-card.priority-medium{border-left-color:#ffd60a}.task-card.priority-low{border-left-color:#39ff14}.task-check{width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.2);background:transparent;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--safe-green);transition:all .2s var(--ease-bounce);flex-shrink:0;margin-top:2px}.task-check.checked{background:var(--safe-green);border-color:var(--safe-green)}.task-check:hover{border-color:var(--safe-green);transform:scale(1.1)}.task-body{flex:1;min-width:0}.task-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.task-type-badge{font-size:11px;color:var(--text-muted)}.priority-dot{font-size:14px}.task-title{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--text-primary);line-height:1.3}.task-title.strikethrough{text-decoration:line-through;color:var(--text-muted)}.task-desc{font-size:12px;color:var(--text-secondary);margin-top:4px;line-height:1.5}.task-time{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted);font-weight:600;margin-top:5px;background:#ffffff0a;padding:2px 8px;border-radius:var(--radius-full);border:1px solid var(--glass-border)}.task-delete-btn{opacity:0;width:24px;height:24px;border-radius:50%;background:#ff3d5a1a;color:var(--urgent-red);font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.task-card:hover .task-delete-btn{opacity:1}.focus-container{max-width:680px;margin:0 auto;padding:0 16px 60px;display:flex;flex-direction:column;gap:16px;min-height:100vh;background:var(--bg-base);position:relative;z-index:1}.focus-header{display:flex;align-items:center;justify-content:space-between;padding:14px 0}.focus-subject-badge{font-family:var(--font-display);font-size:14px;font-weight:700;padding:7px 16px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--subject-color,var(--brand-primary)) 15%,transparent);border:1px solid var(--subject-color,var(--brand-primary));color:var(--subject-color,var(--text-primary))}.focus-timer{position:relative;width:48px;height:48px;display:flex;align-items:center;justify-content:center}.timer-ring{position:absolute;top:0;left:0;transform:rotate(-90deg)}.timer-bg{fill:none;stroke:#ffffff0f;stroke-width:3}.timer-arc{fill:none;stroke-width:3;stroke-linecap:round;stroke-dasharray:125.66;transition:stroke-dashoffset 1s linear,stroke .3s;filter:drop-shadow(0 0 4px var(--subject-glow,var(--brand-glow)))}.timer-text{font-family:var(--font-display);font-size:11px;font-weight:800;color:var(--text-primary);position:relative;z-index:1}.step-indicator{display:flex;gap:8px;justify-content:center}.step-dot{width:8px;height:8px;border-radius:50%;background:#ffffff1a;transition:all .3s var(--ease-bounce)}.step-dot.active{background:var(--subject-color,var(--brand-primary));box-shadow:0 0 8px var(--subject-glow,var(--brand-glow));width:24px;border-radius:4px}.step-dot.done{background:#39ff1480}.focus-step-content{display:flex;flex-direction:column;gap:16px;flex:1;animation:float-up .4s var(--ease-out)}@keyframes float-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.focus-title{font-family:var(--font-display);font-size:22px;font-weight:800;text-align:center}.ai-loading{padding:32px 0;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.ai-loading p{color:var(--text-secondary);font-size:14px}.concepts-list{display:flex;flex-direction:column;gap:9px}.concept-item{display:flex;align-items:flex-start;gap:11px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-md);border-left:3px solid var(--subject-color,var(--brand-primary));animation:float-up .4s var(--ease-out) both;transition:all .15s}.concept-item:hover{transform:translate(3px)}.concept-number{width:22px;height:22px;border-radius:50%;background:color-mix(in srgb,var(--subject-color,var(--brand-primary)) 15%,transparent);border:1px solid var(--subject-color,var(--brand-primary));color:var(--subject-color,var(--brand-primary));font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.concept-text{font-size:14px;line-height:1.6;font-weight:500}.focus-cta{margin-top:auto}.quiz-progress-bar{height:4px;background:#ffffff0f;border-radius:var(--radius-full);overflow:hidden}.quiz-progress-fill{height:100%;background:linear-gradient(90deg,var(--subject-color,var(--brand-primary)),var(--brand-primary));border-radius:var(--radius-full);transition:width .5s var(--ease-out)}.question-number{font-size:11px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.question-text{font-family:var(--font-display);font-size:19px;font-weight:700;line-height:1.4;min-height:72px}.options-grid{display:flex;flex-direction:column;gap:9px}.option-btn{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--glass-bg);border:1.5px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-weight:500;text-align:left;transition:all .15s;animation:float-up .3s var(--ease-out) both}.option-btn:hover:not(:disabled){background:#ffffff12;border-color:var(--subject-color,var(--brand-primary));transform:translate(3px)}.option-btn.correct{border-color:var(--safe-green);background:#39ff1412}.option-btn.incorrect{border-color:var(--urgent-red);background:#ff3d5a12}.option-letter{width:30px;height:30px;border-radius:50%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0}.option-btn.correct .option-letter{background:#39ff1433;border-color:var(--safe-green);color:var(--safe-green)}.option-btn.incorrect .option-letter{background:#ff3d5a33;border-color:var(--urgent-red);color:var(--urgent-red)}.answer-feedback{padding:16px;border-radius:var(--radius-md);display:flex;align-items:flex-start;gap:12px;animation:float-up .25s var(--ease-bounce)}.feedback-correct{background:#39ff140d;border:1px solid rgba(57,255,20,.2)}.feedback-incorrect{background:#ff3d5a0d;border:1px solid rgba(255,61,90,.15)}.feedback-icon{font-size:22px;flex-shrink:0;margin-top:2px}.feedback-body{flex:1}.feedback-text{font-size:13px;line-height:1.6;margin-bottom:11px}.celebration-step{align-items:center;text-align:center;padding-top:20px}.trophy-icon{font-size:72px;animation:trophy-bounce .6s var(--ease-bounce) both;filter:drop-shadow(0 0 24px rgba(255,196,0,.7))}@keyframes trophy-bounce{0%{transform:scale(0) rotate(-20deg)}60%{transform:scale(1.15) rotate(5deg)}to{transform:scale(1) rotate(0)}}.celebration-title{font-family:var(--font-display);font-size:30px;font-weight:900;background:linear-gradient(135deg,#ffc400,#ff6b35,#ff4fa3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.celebration-score{font-size:15px;color:var(--text-secondary)}.xp-earned{padding:16px 28px;display:flex;flex-direction:column;align-items:center;gap:3px}.xp-label{font-size:11px;color:var(--text-secondary);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.xp-amount{font-family:var(--font-display);font-size:30px;font-weight:900;color:#ffc400;text-shadow:0 0 20px rgba(255,196,0,.5)}.medal-earned{padding:18px 28px;display:flex;flex-direction:column;align-items:center;gap:8px;border:1px solid rgba(255,196,0,.25);animation:float-up .5s var(--ease-bounce) .4s both}.medal-icon-large{font-size:44px;filter:drop-shadow(0 0 12px rgba(255,196,0,.6))}.medal-name{font-family:var(--font-display);font-weight:700;color:#ffc400;font-size:14px}
