@font-face{font-family:bootstrap-icons;font-display:swap;src:url(/assets/bootstrap-icons-mSm7cUeB.woff2?e34853135f9e39acf64315236852cd5a) format("woff2"),url(/assets/bootstrap-icons-BeopsB42.woff?e34853135f9e39acf64315236852cd5a) format("woff")}body.dc-large-text{font-size:1.1rem}.glass-card{background:#fffc;backdrop-filter:blur(8px);transition:background .3s,transform .3s;border-radius:1.25rem!important}.glass-card:hover{box-shadow:0 15px 28px #00000042;border:none!important}[data-bs-theme=dark] #today-tasks-card,[data-theme=dark] #today-tasks-card,body.dark-mode #today-tasks-card{background:radial-gradient(circle at top left,rgba(34,197,94,.08),transparent 55%),radial-gradient(circle at bottom right,rgba(59,130,246,.08),transparent 55%),#0f172ae6;border:1px solid rgba(148,163,184,.45);box-shadow:0 18px 40px #000000b3,inset 0 0 0 .5px #94a3b859}[data-bs-theme=dark] #today-tasks-card .stats-card-label,[data-theme=dark] #today-tasks-card .stats-card-label,body.dark-mode #today-tasks-card .stats-card-label{color:#9ca3af}[data-bs-theme=dark] #today-tasks-card .today-item-row,[data-theme=dark] #today-tasks-card .today-item-row,body.dark-mode #today-tasks-card .today-item-row{background:radial-gradient(circle at top left,rgba(15,118,110,.4),transparent 60%),#0f172af2!important;border-color:#4b5563e6!important;box-shadow:0 8px 22px #000c}[data-bs-theme=dark] #today-tasks-card .today-item-row .badge,[data-theme=dark] #today-tasks-card .today-item-row .badge,body.dark-mode #today-tasks-card .today-item-row .badge{background-color:#0f172ae6;color:#e5e7eb;border-color:#374151cc}[data-bs-theme=dark] #today-tasks-card .text-muted,[data-theme=dark] #today-tasks-card .text-muted,body.dark-mode #today-tasks-card .text-muted{color:#9ca3af!important}@keyframes aiGlow{0%{box-shadow:0 0 6px 1px #8fae9b38,0 0 3px #6f8f7d24}50%{box-shadow:0 0 12px 2px #8fae9b4d,0 0 8px 2px #6f8f7d33}to{box-shadow:0 0 6px 1px #8fae9b38,0 0 3px #6f8f7d24}}.ai-glow{animation:aiGlow 3s ease-in-out infinite;box-shadow:0 0 6px 1px #8fae9b38,0 0 3px #6f8f7d24;background:linear-gradient(90deg,#ecf3ef6b,#e4ece857);border:1.5px solid #b9cdbf}@keyframes chatFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-msg-anim{animation:chatFadeIn .3s ease}.chat-send-btn{transition:transform .2s}.chat-send-btn:active{transform:scale(1.15)}.chat-bubble{position:relative;border-radius:12px;padding:.5rem .75rem}.chat-bubble.assistant{background:#ffffffe6;border:1px solid #dee2e6}.chat-bubble.user{background:var(--bs-success);color:#fff}.chat-bubble.assistant:before,.chat-bubble.user:after{content:"";position:absolute;bottom:4px;width:0;height:0;border:8px solid transparent}.chat-bubble.assistant:before{left:-10px;border-right-color:#ffffffe6;border-left-width:0}.chat-bubble.user:after{right:-10px;border-left-color:var(--bs-success);border-right-width:0}.confetti-container{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:2000}.confetti-piece{position:absolute;width:8px;height:12px;opacity:.9;animation:confetti-fall 1.2s linear forwards}@keyframes confetti-fall{0%{transform:translateY(-10vh) rotate(0)}to{transform:translateY(100vh) rotate(360deg)}}.tour-final{position:fixed;top:30%;left:50%;transform:translate(-50%);background:#fff;border:1px solid #95DE98;border-radius:.5rem;padding:1rem;z-index:2000;box-shadow:0 4px 12px #00000026}.guide-btn{position:relative;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--bs-success);color:var(--bs-success);background:transparent;transition:background .2s,color .2s;padding:0}.guide-btn:hover,.guide-btn:focus{background:var(--bs-success);color:#fff}.guide-btn:hover:after,.guide-btn:focus:after{content:attr(data-label);position:absolute;top:100%;left:50%;transform:translate(-50%);background:var(--bs-success);color:#fff;padding:.125rem .4rem;font-size:.75rem;border-radius:4px;margin-top:.25rem;white-space:nowrap;pointer-events:none;z-index:1050}.handwriting{font-family:Handlee,cursive;font-size:1.05rem}.journal-entry-card{display:flex;border-radius:12px;margin-bottom:.85rem;cursor:pointer;overflow:hidden;background:#ffffffe6;border:1px solid rgba(0,0,0,.07);box-shadow:0 2px 8px #0000000d;transition:transform .18s ease,box-shadow .18s ease}.journal-entry-card:hover,.journal-entry-card:focus{transform:translateY(-2px);box-shadow:0 8px 20px #0000001a;outline:none}.journal-entry-accent{width:4px;flex-shrink:0;background:linear-gradient(180deg,#22c55e,#0d9488);border-radius:4px 0 0 4px}.journal-entry-body{flex:1;padding:.85rem 1rem;min-width:0}.journal-entry-title{font-weight:600;font-size:.95rem;margin-bottom:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journal-entry-date,.journal-entry-readtime{font-size:.75rem;color:var(--bs-secondary-color, #6c757d)}.journal-entry-preview{font-family:Handlee,cursive;font-size:.88rem;color:var(--bs-secondary-color, #6c757d);margin-bottom:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.journal-entry-actions{display:flex;gap:4px;align-items:center;flex-shrink:0}.journal-action-btn{width:30px;height:30px;border:none;background:transparent;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--bs-secondary-color, #6c757d);font-size:.8rem;transition:background .15s,color .15s;cursor:pointer}.journal-action-btn:hover{background:#00000012;color:var(--bs-body-color)}.journal-action-btn--danger:hover{background:#dc35451a;color:var(--bs-danger)}.journal-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.journal-search-wrap{position:relative;display:flex;align-items:center}.journal-search-icon{position:absolute;left:10px;color:var(--bs-secondary-color, #6c757d);font-size:.8rem;pointer-events:none}.journal-search-input{height:32px;border:1px solid var(--bs-border-color);border-radius:999px;padding:0 .75rem 0 2rem;font-size:.85rem;background:var(--bs-body-bg, #fff);color:var(--bs-body-color);outline:none;transition:border-color .15s,box-shadow .15s;width:180px}.journal-search-input:focus{border-color:#22c55e;box-shadow:0 0 0 3px #22c55e26}.journal-empty-state{text-align:center;padding:3rem 1rem}.journal-empty-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#22c55e26,#0d94881a);display:inline-flex;align-items:center;justify-content:center;font-size:2rem;color:#22c55e}.journal-locked-state{text-align:center;padding:4rem 1rem}.journal-lock-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#64748b1f,#47556914);display:inline-flex;align-items:center;justify-content:center;font-size:2.2rem;color:#94a3b8}.journal-passcode-input{font-size:1.5rem!important;letter-spacing:.4em;text-align:center;border-radius:12px!important;border:2px solid var(--bs-border-color)!important;padding:.75rem!important;transition:border-color .15s,box-shadow .15s!important}.journal-passcode-input:focus{border-color:#22c55e!important;box-shadow:0 0 0 4px #22c55e26!important}.journal-icon-badge{width:32px;height:32px;border-radius:8px;background:#22c55e26;color:#16a34a;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.journal-icon-badge--light{background:#ffffff40;color:#fff}.journal-write-modal .modal-content{border-radius:16px;overflow:hidden;border:none;box-shadow:0 24px 64px #0000002e}.journal-write-modal .modal-dialog{max-width:min(1100px,94vw)}.journal-write-modal-header{background:linear-gradient(135deg,#166534,#0d9488);color:#fff;padding:1.1rem 1.5rem}.journal-write-modal-header .btn-close{filter:invert(1);opacity:.8}.journal-prompt-bar{background:linear-gradient(90deg,#22c55e14,#0d94880f);border-bottom:1px solid rgba(34,197,94,.15);padding:.75rem 1.5rem;display:flex;align-items:center;gap:.75rem}.journal-prompt-quote{font-size:2rem;line-height:1;color:#22c55e;font-family:Georgia,serif;margin-top:-6px;flex-shrink:0;opacity:.7}.journal-prompt-text{font-size:.85rem;color:#166534;font-style:italic;flex:1}.journal-prompt-shuffle{background:none;border:1px solid rgba(34,197,94,.3);border-radius:8px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;color:#16a34a;cursor:pointer;font-size:.85rem;transition:background .15s;flex-shrink:0}.journal-prompt-shuffle:hover{background:#22c55e1f}.journal-write-inner{background:#fdfbf7}.journal-form-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--bs-secondary-color, #6c757d);margin-bottom:.4rem}.journal-title-input{border:none!important;border-bottom:2px solid var(--bs-border-color)!important;border-radius:0!important;background:transparent!important;padding-left:0!important;font-size:1.1rem!important;font-weight:600!important;transition:border-color .15s!important;box-shadow:none!important}.journal-title-input:focus{border-bottom-color:#22c55e!important;box-shadow:none!important}.journal-date-input{border:none!important;border-bottom:2px solid var(--bs-border-color)!important;border-radius:0!important;background:transparent!important;padding-left:0!important;transition:border-color .15s!important;box-shadow:none!important}.journal-date-input:focus{border-bottom-color:#22c55e!important;box-shadow:none!important}.journal-textarea{font-family:Handlee,cursive!important;font-size:1.05rem!important;line-height:2rem!important;min-height:280px!important;resize:vertical!important;background-color:#fffdf7!important;background-image:repeating-linear-gradient(transparent,transparent calc(2rem - 1px),rgba(34,197,94,.12) calc(2rem - 1px),rgba(34,197,94,.12) 2rem)!important;background-attachment:local!important;border:1px solid var(--bs-border-color)!important;border-radius:10px!important;padding:.5rem 1rem!important;transition:border-color .15s,box-shadow .15s!important}.journal-textarea:focus{border-color:#22c55e!important;box-shadow:0 0 0 3px #22c55e26!important;background-color:#fffef9!important}.journal-textarea::placeholder{color:#c4c4c4!important;font-style:italic}.journal-word-count{font-size:.75rem;color:var(--bs-secondary-color, #6c757d);text-align:right}.journal-write-modal-footer{background:#fdfbf7;padding:1rem 1.5rem;gap:.5rem}.journal-cancel-btn{background:transparent!important;border:1px solid var(--bs-border-color)!important;color:var(--bs-secondary-color, #6c757d)!important}.journal-cancel-btn:hover{background:#0000000d!important}.journal-save-btn{background:linear-gradient(135deg,#16a34a,#0d9488)!important;border:none!important;color:#fff!important}.journal-save-btn:hover:not(:disabled){background:linear-gradient(135deg,#15803d,#0f766e)!important;transform:translateY(-1px);box-shadow:0 4px 12px #16a34a4d!important}.journal-save-btn:disabled{opacity:.5!important}.journal-view-modal .modal-content{border-radius:16px;overflow:hidden;border:none;box-shadow:0 24px 64px #0000002e}.journal-view-modal-header{background:#fffdf7;padding:1.5rem 1.5rem .75rem;border-bottom:none}.journal-view-title{font-size:1.4rem;font-weight:700;line-height:1.2;margin-bottom:.3rem}.journal-view-meta{font-size:.8rem;color:var(--bs-secondary-color, #6c757d)}.journal-view-body{background:#fffdf7;padding:0 1.5rem 1.5rem}.journal-view-divider{height:2px;background:linear-gradient(90deg,#22c55e,#0d9488,transparent);border-radius:2px;margin-bottom:1.25rem}.journal-view-content{font-size:1.1rem;line-height:1.9}.journal-view-footer{background:#fdfbf7;padding:1rem 1.5rem;gap:.5rem}.journal-full-container{padding:1.25rem}.journal-full-toolbar-wrap{position:sticky;top:0;z-index:10;background:var(--bs-body-bg, #fff);padding:.5rem 0;margin-bottom:.5rem}[data-bs-theme=dark] .journal-entry-card,[data-theme=dark] .journal-entry-card,body.dark-mode .journal-entry-card{background:#0f172ad9;border-color:#94a3b826}[data-bs-theme=dark] .journal-write-inner,[data-theme=dark] .journal-write-inner,body.dark-mode .journal-write-inner,[data-bs-theme=dark] .journal-write-modal-footer,[data-theme=dark] .journal-write-modal-footer,body.dark-mode .journal-write-modal-footer,[data-bs-theme=dark] .journal-view-body,[data-theme=dark] .journal-view-body,body.dark-mode .journal-view-body,[data-bs-theme=dark] .journal-view-modal-header,[data-theme=dark] .journal-view-modal-header,body.dark-mode .journal-view-modal-header,[data-bs-theme=dark] .journal-view-footer,[data-theme=dark] .journal-view-footer,body.dark-mode .journal-view-footer{background:#0f172a}[data-bs-theme=dark] .journal-prompt-text,[data-theme=dark] .journal-prompt-text,body.dark-mode .journal-prompt-text{color:#86efac}[data-bs-theme=dark] .journal-textarea,[data-theme=dark] .journal-textarea,body.dark-mode .journal-textarea{background-color:#0f172a!important;color:#e2e8f0!important;background-image:repeating-linear-gradient(transparent,transparent calc(2rem - 1px),rgba(34,197,94,.07) calc(2rem - 1px),rgba(34,197,94,.07) 2rem)!important}[data-bs-theme=dark] .journal-title-input,[data-theme=dark] .journal-title-input,body.dark-mode .journal-title-input,[data-bs-theme=dark] .journal-date-input,[data-theme=dark] .journal-date-input,body.dark-mode .journal-date-input{color:#e2e8f0!important}[data-bs-theme=dark] .journal-full-toolbar-wrap,[data-theme=dark] .journal-full-toolbar-wrap,body.dark-mode .journal-full-toolbar-wrap{background:#020617}.journal-card{transition:box-shadow .2s,transform .2s}.journal-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.badge-card{transition:box-shadow .2s,transform .2s}.badge-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.badge-locked{opacity:.4;filter:grayscale(100%)}body.modal-open #study-pill-nav .btn.active,body.modal-open #study-pill-nav .btn[aria-current=page]{background-color:#94a3b838!important;box-shadow:none!important}body.modal-open .mode-tabs-nav-compact .mode-tab-glass,body.modal-open .mode-tabs-nav-compact .mode-tab-glass.active,body.modal-open .mode-tabs-nav-compact .mode-tab-glass:hover{background:#94a3b833!important;border-color:#94a3b859!important;box-shadow:none!important;color:#4b5563!important;transform:none!important}body.modal-open .mode-tabs-nav-compact .mode-tab-glass .mode-tab-icon,body.modal-open .mode-tabs-nav-compact .mode-tab-glass.active .mode-tab-icon,body.modal-open .mode-tabs-nav-compact .mode-tab-glass .mode-tab-label{color:#6b7280!important}#degree-plan-and-classes .glass-card,#degree-plan-and-classes .glass-card:hover,.degree-limited-plan-split .glass-card,.degree-limited-plan-split .glass-card:hover,#plan-summary-card.glass-card,#plan-summary-card.glass-card:hover,#degree-my-classes-column .glass-card,#degree-my-classes-column .glass-card:hover,.degree-next-terms-card.glass-card,.degree-next-terms-card.glass-card:hover,#goal-card.glass-card,#goal-card.glass-card:hover,.tools-card.glass-card,.tools-card.glass-card:hover{transform:none!important;transition:background .2s ease,border-color .2s ease!important;box-shadow:0 .125rem .25rem #00000013!important;border:1px solid rgba(0,0,0,.08)!important}body.dark-mode #degree-plan-and-classes .glass-card,body.dark-mode #degree-plan-and-classes .glass-card:hover,body.dark-mode .degree-limited-plan-split .glass-card,body.dark-mode .degree-limited-plan-split .glass-card:hover,body.dark-mode #plan-summary-card.glass-card,body.dark-mode #plan-summary-card.glass-card:hover,body.dark-mode #degree-my-classes-column .glass-card,body.dark-mode #degree-my-classes-column .glass-card:hover,body.dark-mode .degree-next-terms-card.glass-card,body.dark-mode .degree-next-terms-card.glass-card:hover,body.dark-mode #goal-card.glass-card,body.dark-mode #goal-card.glass-card:hover,body.dark-mode .tools-card.glass-card,body.dark-mode .tools-card.glass-card:hover,body.dark-mode #weekly-plan-card.glass-card,body.dark-mode #weekly-plan-card.glass-card:hover,body.dark-mode .study-tools-card.glass-card,body.dark-mode .study-tools-card.glass-card:hover,body.dark-mode #week-card.glass-card,body.dark-mode #week-card.glass-card:hover,body.dark-mode .study-weekly-workspace-stack .glass-card,body.dark-mode .study-weekly-workspace-stack .glass-card:hover,body.dark-mode .study-workspace-tools-row .glass-card,body.dark-mode .study-workspace-tools-row .glass-card:hover,body.dark-mode .study-progress-shell-card.glass-card,body.dark-mode .study-progress-shell-card.glass-card:hover,body.dark-mode .study-study-tab-card.glass-card,body.dark-mode .study-study-tab-card.glass-card:hover{box-shadow:0 .125rem .25rem #00000073!important;border:1px solid rgba(148,163,184,.3)!important}#weekly-plan-card.glass-card,#weekly-plan-card.glass-card:hover,.study-tools-card.glass-card,.study-tools-card.glass-card:hover,#week-card.glass-card,#week-card.glass-card:hover,.study-weekly-workspace-stack .glass-card,.study-weekly-workspace-stack .glass-card:hover,.study-workspace-tools-row .glass-card,.study-workspace-tools-row .glass-card:hover,.study-progress-shell-card.glass-card,.study-progress-shell-card.glass-card:hover,.study-study-tab-card.glass-card,.study-study-tab-card.glass-card:hover{transform:none!important;transition:background .2s ease,border-color .2s ease!important;box-shadow:0 .125rem .25rem #00000013!important;border:1px solid rgba(0,0,0,.08)!important}
