:root{--bg-color:#0a0a0a;--surface-color:#171717;--text-primary:#fff;--text-secondary:#a3a3a3;--accent-color:#22c55e;--accent-light:#14532d;--card-shadow:0 4px 6px -1px #00000080, 0 2px 4px -2px #00000080;--card-shadow-hover:0 10px 15px -3px #000000b3, 0 4px 6px -4px #000000b3}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);background-image:radial-gradient(circle at 50% 0,#ffe60008,#0000 70%);font-family:Inter,sans-serif;position:relative;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif;font-weight:600}.aurora-bg{z-index:-2;background-color:#0000;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.blob{filter:blur(100px);opacity:.12;border-radius:50%;animation:20s ease-in-out infinite alternate moveBlob;position:absolute}.blob-1{background:#22c55e;width:45vw;height:45vw;top:-10%;left:-10%}.blob-2{background:#15803d;width:55vw;height:55vw;animation-duration:25s;animation-direction:alternate-reverse;bottom:-10%;right:-10%}@keyframes moveBlob{0%{transform:translate(0)scale(1)}to{transform:translate(10vw,10vh)scale(1.1)}}.container{max-width:1200px;margin:0 auto;padding:2rem}.header{text-align:center;padding:4rem 0 2rem}.header h1{margin-bottom:1rem;font-size:3rem;font-weight:800}.header h1 span{color:var(--accent-color)}.header p{color:var(--text-secondary);max-width:600px;margin:0 auto;font-size:1.25rem}.topics-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;padding:2rem 0;display:grid}.topic-card{background:var(--surface-color);box-shadow:var(--card-shadow);cursor:pointer;border:1px solid #0000;border-radius:1rem;flex-direction:column;gap:.5rem;padding:1.5rem;transition:all .3s;display:flex;position:relative;overflow:hidden}.topic-card:before{content:"";background-color:var(--accent-color);transform-origin:bottom;width:4px;height:100%;transition:transform .3s;position:absolute;top:0;left:0;transform:scaleY(0)}.topic-card:hover{box-shadow:var(--card-shadow-hover);border-color:var(--accent-light);transform:translateY(-5px)}.topic-card:hover:before{transform:scaleY(1)}.topic-icon{margin-bottom:.5rem;font-size:2rem}.topic-title{color:var(--text-primary);font-size:1.25rem}.topic-desc{color:var(--text-secondary);font-size:.9rem;line-height:1.4}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;background:#00000080;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--surface-color);text-align:center;border-radius:1.5rem;width:90%;max-width:400px;padding:3rem;animation:.4s cubic-bezier(.16,1,.3,1) modalEnter;box-shadow:0 25px 50px -12px #00000040}@keyframes modalEnter{0%{opacity:0;transform:scale(.95)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-content h2{margin-bottom:1rem;font-size:1.8rem}.modal-content input{background:var(--surface-color);width:100%;color:var(--text-primary);border:2px solid #334155;border-radius:.5rem;outline:none;margin-bottom:1rem;padding:1rem;font-family:Inter,sans-serif;font-size:1rem;transition:border-color .2s}.modal-content input:focus{border-color:var(--accent-color)}.modal-content button{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:.5rem;width:100%;padding:1rem;font-size:1rem;font-weight:600;transition:background .2s}.modal-content button:hover{background:#15803d}.why-section{text-align:center;background:linear-gradient(180deg, var(--bg-color) 0%, var(--surface-color) 100%);padding:4rem 0}.why-section h2{margin-bottom:2rem;font-size:2.2rem}.reasons-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:1000px;margin:0 auto;display:grid}.reason-card{background:var(--surface-color);border-left:4px solid var(--accent-color);box-shadow:var(--card-shadow);cursor:pointer;border-radius:1rem;padding:1.5rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden}.reason-card h3{color:var(--accent-color);margin-bottom:.5rem;transition:all .3s}.reason-card:hover h3{transform:translate(5px)}.chat-drawer{background:var(--surface-color);z-index:100;border-top-left-radius:1.5rem;border-top-right-radius:1.5rem;flex-direction:column;width:100%;max-width:800px;height:80vh;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -10px 40px #0000001a}.chat-drawer.hidden{transform:translate(-50%,100%)}.chat-header{border-bottom:1px solid #334155;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.chat-header h3{align-items:center;gap:.5rem;display:flex}.close-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;font-size:1.5rem}.chat-messages{flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.message{border-radius:1rem;max-width:80%;padding:1rem;line-height:1.5}.message.ai{background:var(--bg-color);border-bottom-left-radius:.25rem;align-self:flex-start}.message.user{background:var(--accent-color);color:#fff;border-bottom-right-radius:.25rem;align-self:flex-end}.prompt-buttons{scrollbar-width:none;gap:.5rem;padding:1rem 1.5rem;display:flex;overflow-x:auto}.prompt-buttons::-webkit-scrollbar{display:none}.prompt-btn{background:var(--accent-light);color:var(--accent-color);cursor:pointer;white-space:nowrap;border:none;border-radius:2rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s}.prompt-btn:hover{background:var(--accent-color);color:#fff}.chat-input-area{border-top:1px solid #334155;gap:.5rem;padding:1rem 1.5rem;display:flex}.chat-input-area input{background:var(--surface-color);color:var(--text-primary);border:1px solid #334155;border-radius:2rem;outline:none;flex:1;padding:.75rem 1rem;font-family:Inter,sans-serif}.chat-input-area input:focus{border-color:var(--accent-color)}.chat-input-area button{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.quotes-section{text-align:center;background:var(--bg-color);padding:4rem 0}.quotes-section h2{margin-bottom:2rem;font-size:2.2rem}.quotes-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;max-width:1000px;margin:0 auto;padding:0 2rem;display:grid}.quote-box{background:var(--surface-color);box-shadow:var(--card-shadow);border:1px solid #0000;border-left:4px solid var(--accent-color);text-align:left;min-height:120px;color:var(--text-primary);cursor:pointer;border-radius:1rem;justify-content:center;align-items:center;padding:1.5rem;font-size:1rem;font-style:italic;transition:all .3s;animation:.5s modalEnter;display:flex}.quote-box:hover{box-shadow:var(--card-shadow-hover);border-color:var(--accent-light);transform:translateY(-5px)}.footer{text-align:center;background:var(--bg-color);color:var(--text-secondary);padding:2rem}.footer strong{color:var(--text-primary)}.dashboard-topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:50;background:#171717cc;border-bottom:1px solid #334155;width:100%;padding:1rem 0;position:fixed;top:0;left:0}.topbar-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 2rem;display:flex}.streak-badge{background:var(--surface-color);border:1px solid #334155;border-radius:2rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:600;display:flex}.streak-icon{color:#ef4444}.progress-container{min-width:250px}.progress-text{color:var(--text-secondary);justify-content:space-between;margin-bottom:.5rem;font-size:.9rem;display:flex}.progress-bg{background:#334155;border-radius:4px;width:100%;height:8px;overflow:hidden}.progress-fill{background:var(--accent-color);height:100%;transition:width .5s ease-out}.completed-badge{background:var(--accent-light);color:var(--accent-color);border-radius:1rem;padding:.2rem .6rem;font-size:.8rem;font-weight:700}.drawer-tabs{border-bottom:1px solid #334155;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:1rem;font-weight:500;transition:all .2s;display:flex}.tab-btn:hover{background:#ffffff0d}.tab-btn.active{color:var(--accent-color);border-bottom-color:var(--accent-color)}.checklist-container{height:100%;padding:2rem;overflow-y:auto}.checklist-subtitle{color:var(--text-secondary);margin-bottom:2rem}.checklist-items{flex-direction:column;gap:1rem;display:flex}.checklist-item{background:var(--bg-color);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #334155;border-radius:1rem;align-items:center;gap:1rem;padding:1.5rem;transition:all .2s;display:flex}.checklist-item:hover{border-color:var(--accent-light);transform:translate(5px)}.checklist-item input{display:none}.checkmark{border:2px solid #4a5568;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex}.checklist-item.completed{opacity:.8}.checklist-item.completed .checkmark{background:var(--accent-color);border-color:var(--accent-color)}.checklist-item.completed .checkmark:after{content:"✓";color:#fff;font-weight:700}.checklist-item.completed .task-text{color:var(--text-secondary);text-decoration:line-through}.reflection-input{background:var(--bg-color);width:100%;height:150px;color:var(--text-primary);resize:vertical;border:1px solid #334155;border-radius:1rem;outline:none;padding:1rem;font-family:Inter,sans-serif;font-size:1rem;transition:border-color .2s}.reflection-input:focus{border-color:var(--accent-color)}@media (width<=768px){.header h1{font-size:2.2rem}.header p{font-size:1rem}.chat-drawer{height:90vh}.hide-on-mobile{display:none!important}.topbar-container{padding:0 1rem}}.roadmap-container{max-width:800px;margin:4rem auto;padding:2rem 0;position:relative}.roadmap-path-line{background:#334155;border-radius:2px;width:4px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.roadmap-node-wrapper{justify-content:space-between;align-items:center;width:100%;margin-bottom:4rem;display:flex;position:relative}.roadmap-node-wrapper:last-child{margin-bottom:0}.roadmap-node-wrapper.left{flex-direction:row-reverse}.roadmap-card{z-index:2;width:calc(50% - 40px);position:relative}.roadmap-dot{z-index:3;background:#1e293b;border:4px solid #334155;border-radius:50%;width:24px;height:24px;transition:all .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.roadmap-node-wrapper.unlocked .roadmap-dot{background:var(--surface-color);border-color:var(--accent-color);box-shadow:0 0 15px #22c55e66}.roadmap-node-wrapper.completed .roadmap-dot{background:var(--accent-color);border-color:var(--accent-color)}.roadmap-connector{z-index:1;background:#334155;width:40px;height:4px;position:absolute;top:50%}.roadmap-node-wrapper.left .roadmap-connector{right:calc(50% - 40px)}.roadmap-node-wrapper.right .roadmap-connector{left:calc(50% - 40px)}.roadmap-node-wrapper.unlocked .roadmap-connector{background:var(--accent-color)}.roadmap-node-wrapper.locked .roadmap-card{cursor:not-allowed;box-shadow:none;border-color:#334155}.roadmap-node-wrapper.locked .roadmap-card:hover{transform:none}.roadmap-node-wrapper.locked .roadmap-card:before{display:none}@media (width<=768px){.roadmap-path-line{left:30px}.roadmap-node-wrapper{justify-content:flex-start;flex-direction:row!important}.roadmap-card{width:calc(100% - 80px);margin-left:80px}.roadmap-dot{left:30px}.roadmap-connector{width:50px;left:30px!important}}.typing-indicator{justify-content:center;align-items:center;gap:4px;height:24px;display:flex;padding:.5rem 1rem!important}.typing-indicator .dot{background-color:var(--text-secondary);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite both typing}.typing-indicator .dot:first-child{animation-delay:-.32s}.typing-indicator .dot:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.profile-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #334155;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.profile-btn:hover{background:var(--surface-color);color:var(--accent-color);border-color:var(--accent-color)}.profile-modal{background:linear-gradient(180deg, var(--surface-color) 0%, var(--bg-color) 100%);border:1px solid #334155;flex-direction:column;width:95%;max-width:600px;height:85vh;padding:0;display:flex;position:relative;overflow:hidden}.close-profile-btn{color:var(--text-secondary);cursor:pointer;z-index:10;background:#0000004d;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.close-profile-btn:hover{color:#fff;background:#ffffff1a}.profile-header{text-align:center;background:#ffffff05;border-bottom:1px solid #334155;padding:3rem 2rem 2rem}.profile-avatar{background:var(--accent-color);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1rem;display:flex;box-shadow:0 0 30px #22c55e4d}.profile-header h2{color:#fff;margin-bottom:.25rem;font-size:2rem}.profile-level{color:var(--accent-color);font-size:1.1rem;font-weight:600}.profile-stats{border-bottom:1px solid #334155;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1.5rem 2rem;display:grid}.stat-card{text-align:center;background:#0003;border:1px solid #334155;border-radius:1rem;padding:1rem}.stat-card h3{color:#fff;margin-bottom:.25rem;font-size:1.5rem}.stat-card p{color:var(--text-secondary);font-size:.85rem}.profile-scroll-area{flex:1;padding-bottom:2rem;overflow-y:auto}.profile-reflections{padding:2rem}.profile-reflections h3{color:#fff;margin-bottom:.5rem;font-size:1.5rem}.reflections-desc{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem}.reflections-list{flex-direction:column;gap:1rem;display:flex}.reflection-card{text-align:left;border:1px solid #334155;border-left:3px solid var(--accent-color);background:#0003;border-radius:1rem;padding:1.5rem}.reflection-card-header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.reflection-icon{font-size:1.5rem}.reflection-card-header h4{color:var(--text-secondary);font-size:1rem;font-weight:500}.reflection-text{color:#fff;font-size:1.05rem;font-style:italic;line-height:1.5}.empty-reflections{text-align:center;color:var(--text-secondary);background:#0000001a;border:1px dashed #334155;border-radius:1rem;padding:3rem 1rem}.profile-badges{padding:2rem 2rem 0}.profile-badges h3{color:#fff;margin-bottom:.25rem;font-size:1.5rem}.badges-desc{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem}.badges-grid{scrollbar-width:none;gap:1rem;padding-bottom:1rem;display:flex;overflow-x:auto}.badges-grid::-webkit-scrollbar{display:none}.badge-card{background:#0003;border:1px solid #334155;border-radius:1rem;flex-direction:column;flex:0 0 100px;justify-content:center;align-items:center;padding:1rem .5rem;transition:all .3s;display:flex}.badge-card.earned{border-color:var(--accent-color);background:#22c55e1a;box-shadow:0 0 15px #22c55e33}.badge-card.locked{opacity:.5;filter:grayscale()}.badge-icon{margin-bottom:.5rem;font-size:2rem}.badge-card p{text-align:center;color:var(--text-secondary);font-size:.75rem;font-weight:600}.badge-card.earned p{color:#fff}.reason-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;background:#0006;border:1px solid #334155;border-radius:1.5rem;padding:2rem;transition:all .3s;box-shadow:0 10px 30px #0003}.reason-card:hover{border-color:var(--accent-color);transform:translateY(-5px);box-shadow:0 15px 40px #22c55e26}.leaderboard-scroll-area{flex-direction:column;flex:1;gap:.75rem;padding:0 2rem 2rem;display:flex;overflow-y:auto}.leaderboard-row{background:#0003;border:1px solid #334155;border-radius:1rem;align-items:center;padding:1rem;transition:all .2s;display:flex}.leaderboard-row:hover{background:#0006}.current-user-row{border-color:var(--accent-color);background:#22c55e1a;box-shadow:0 0 15px #22c55e26}.current-user-row:hover{background:#22c55e26}.rank-col{text-align:center;width:40px;margin-right:1rem;font-size:1.25rem;font-weight:700}.rank-gold .rank-col{font-size:1.75rem}.rank-silver .rank-col,.rank-bronze .rank-col{font-size:1.5rem}.name-col{flex-direction:column;flex:1;display:flex}.lb-name{color:#fff;font-size:1.05rem;font-weight:600}.lb-title{color:var(--text-secondary);font-size:.8rem}.stats-col{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.lb-stat{color:#fff;align-items:center;gap:.35rem;font-size:.9rem;font-weight:500;display:flex}.fade-in{animation:.5s ease-out forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.goal-options{flex-direction:column;gap:1rem;display:flex}.goal-btn{color:#fff;text-align:left;cursor:pointer;background:#0000004d;border:1px solid #334155;border-radius:1rem;padding:1.25rem;font-size:1.1rem;transition:all .2s}.goal-btn:hover{border-color:var(--accent-color);background:#22c55e1a;transform:translate(5px)}.commit-btn{background:var(--accent-color);color:#111827;cursor:pointer;border:none;border-radius:1rem;width:100%;padding:1.25rem;font-size:1.2rem;font-weight:700;transition:all .2s;box-shadow:0 5px 20px #22c55e66}.commit-btn:hover{transform:scale(1.02);box-shadow:0 10px 30px #22c55e99}.growth-tree-container{background:var(--surface-color);border:1px solid #334155;border-radius:2rem;flex-direction:column;justify-content:center;align-items:center;max-width:500px;margin:2rem auto 4rem;padding:3rem;transition:all .5s;display:flex;position:relative;box-shadow:0 20px 40px #0006}.growth-tree-container.stage-5{border-color:var(--accent-color);box-shadow:0 0 50px #22c55e33}.tree-visual{aspect-ratio:4/5;justify-content:center;align-items:flex-end;width:100%;max-width:350px;margin-bottom:2rem;display:flex;position:relative}.tree-svg{width:100%;height:100%;position:absolute;bottom:0;left:0;overflow:visible}.stage-group{opacity:0;transform-origin:200px 450px;transition:all 1s cubic-bezier(.34,1.56,.64,1);transform:scale(.8)}.stage-1 .stage-1-group,.stage-2 .stage-2-group,.stage-3 .stage-3-group,.stage-4 .stage-4-group{opacity:1;transform:scale(1)}.stage-4 .stage-5-group{opacity:0;transform:scale(.8)}.stage-5 .stage-4-group{opacity:1;transform:scale(1.05)}.stage-5 .stage-5-group{opacity:1;transition-delay:.5s;transform:scale(1)}.seed{animation:2s infinite alternate pulseSeed}@keyframes pulseSeed{0%{transform:scale(1)}to{transform:scale(1.3)}}.m-leaf,.sapling-leaf,.m-leaf-extra,.sprout-leaf{transform-origin:50%;animation:4s ease-in-out infinite alternate subtleBreeze}.m-leaf:nth-child(odd){animation-duration:5s;animation-direction:alternate-reverse}@keyframes subtleBreeze{0%{transform:rotate(-2deg)}to{transform:rotate(2deg)}}.tree-status{text-align:center}.tree-status h2{color:var(--accent-color);margin-bottom:.5rem;font-family:Outfit,sans-serif;font-size:2.5rem}.tree-status p{color:var(--text-secondary);font-size:1.1rem}.sparkles{z-index:20;pointer-events:none;width:100%;height:100%;position:absolute}.sparkles span{font-size:1.5rem;animation:1.5s infinite alternate twinkle;position:absolute}.sparkles span:first-child{animation-delay:0s;top:10%;left:15%}.sparkles span:nth-child(2){font-size:2rem;animation-delay:.5s;top:25%;right:10%}.sparkles span:nth-child(3){animation-delay:1s;top:40%;left:5%}@keyframes twinkle{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1.2)}}
