:root{--primary-color:#9d4edd;--primary-hover:#c77dff;--bg-color:#10002b;--surface-color:#240046;--surface-light:#3c096c;--text-primary:#fff;--text-secondary:#e0e0e0;--accent-color:#5a189a;--border-color:#ffffff1a;--glass-bg:#24004699;color:var(--text-primary);background-color:var(--bg-color);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}body{background:radial-gradient(circle at top left, var(--surface-light) 0%, var(--bg-color) 40%);min-width:320px;min-height:100vh;margin:0}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;margin-top:0;font-weight:700}a{color:var(--primary-color);-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500;transition:color .3s}a:hover{color:var(--primary-hover)}button{background-color:var(--primary-color);color:#fff;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:600;transition:all .25s;box-shadow:0 4px 14px #9d4edd66}button:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px #c77dff99}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:16px;padding:2rem;box-shadow:0 8px 32px #0000004d}input{border:1px solid var(--border-color);width:100%;color:var(--text-primary);box-sizing:border-box;background-color:#ffffff0d;border-radius:8px;margin-bottom:1rem;padding:.8rem 1rem;font-size:1rem;transition:border-color .3s,background-color .3s}input:focus{border-color:var(--primary-hover);background-color:#ffffff1a;outline:none}.form-group label{color:var(--text-secondary);margin-bottom:.5rem;font-weight:500;display:block}.navbar{border-radius:100px;justify-content:space-between;align-items:center;margin:1rem 2rem;padding:1rem 2rem;display:flex}.navbar-brand a{color:var(--text-primary);background:linear-gradient(135deg,#c77dff,#e0aaff);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.5rem;font-weight:800;text-decoration:none}.navbar-links{gap:2rem;margin:0;padding:0;list-style:none;display:flex}.navbar-links a{color:var(--text-secondary);font-weight:600}.navbar-links a:hover{color:var(--primary-hover)}.navbar-auth{gap:1rem;display:flex}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);background-color:#0000;border-radius:8px;padding:.6em 1.2em;font-weight:600;text-decoration:none;transition:all .25s;display:inline-block}.btn-secondary:hover{border-color:var(--text-secondary);background-color:#ffffff1a}.btn-primary{color:#fff;background-color:var(--primary-color);border-radius:8px;padding:.6em 1.2em;font-weight:600;text-decoration:none;transition:all .25s;display:inline-block;box-shadow:0 4px 14px #9d4edd66}.btn-primary:hover{background-color:var(--primary-hover);color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #c77dff99}.home-container{flex-direction:column;align-items:center;gap:4rem;padding-top:4rem;display:flex}.text-center{text-align:center}.gradient-text{background:linear-gradient(135deg,#e0aaff,#9d4edd);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:1rem;font-size:3.5rem}.subtitle{color:var(--text-secondary);max-width:600px;margin:0 auto 2rem;font-size:1.2rem}.hero-cta{justify-content:center;gap:1rem;display:flex}.large-btn{padding:.8rem 1.5rem;font-size:1.1rem}.features-section{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;width:100%;display:grid}.feature-card{transition:transform .3s}.feature-card:hover{transform:translateY(-5px)}.feature-card h3{color:var(--primary-hover);margin-bottom:1rem}.auth-container{justify-content:center;align-items:center;min-height:70vh;display:flex}.auth-card{text-align:center;width:100%;max-width:400px}.auth-card h2{color:var(--primary-hover);margin-bottom:.5rem}.auth-subtitle{color:var(--text-secondary);margin-bottom:2rem}.auth-form{text-align:left}.full-width{width:100%;margin-top:1rem}.auth-footer{margin-top:2rem;font-size:.9rem}.auth-footer a{font-weight:600}.mywork-container{grid-template-columns:1fr 2fr;gap:2rem;height:calc(100vh - 120px);display:grid}.problem-section{flex-direction:column;display:flex}.problem-section h2{color:var(--primary-hover);margin-bottom:1rem}.example{background-color:#0003;border-radius:8px;margin-top:1rem;padding:1rem}.example pre{color:#a9ff68;margin:.5rem 0 0}.editor-section{flex-direction:column;display:flex}.editor-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.editor-header h3{margin:0}.editor-wrapper{border:1px solid var(--border-color);border-radius:8px;flex:1;overflow:hidden}.cm-theme-dark{background-color:#1e1e1e!important}.output-section{background-color:#0006;border-radius:8px;min-height:100px;margin-top:1.5rem;padding:1rem}.output-section h4{color:var(--text-secondary);margin-bottom:.5rem}.console-output{color:#c77dff;margin:0;font-family:monospace}@media (width<=768px){.mywork-container{grid-template-columns:1fr;height:auto}}.hint-box{border-left:4px solid var(--primary-color);background-color:#9d4edd33;border-radius:4px;margin-top:1rem;padding:.8rem}.hint-box p{margin:0;font-size:.95rem}.validation-message{border-radius:8px;margin-top:1rem;padding:1rem;font-weight:600;animation:.3s fadeIn}.validation-message.success{color:#2ecc71;background-color:#2ecc7133;border:1px solid #2ecc71}.validation-message.failure{color:#e74c3c;background-color:#e74c3c33;border:1px solid #e74c3c}.validation-message p{margin:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.sidebar li{cursor:pointer;transition:all .2s}.sidebar .module h4{cursor:pointer}.sidebar ul{padding-left:1rem;list-style-type:none}.sidebar li.locked{cursor:not-allowed;opacity:.5;color:var(--text-secondary)}.sidebar li.locked:hover{color:var(--text-secondary);background:0 0}.scores-container{justify-content:center;align-items:center;padding:2rem 0;display:flex}.leaderboard-card{text-align:center;width:100%;max-width:800px}.leaderboard-card h2{color:var(--primary-hover);margin-bottom:.5rem}.table-wrapper{margin-top:2rem;overflow-x:auto}.leaderboard-table{border-collapse:collapse;text-align:left;width:100%}.leaderboard-table th,.leaderboard-table td{border-bottom:1px solid var(--border-color);padding:1rem}.leaderboard-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;font-weight:600}.leaderboard-table tbody tr{transition:background-color .2s}.leaderboard-table tbody tr:hover{background-color:#ffffff0d}.top-rank td{font-weight:600}.score-cell{color:var(--primary-hover);font-weight:700}.cheatsheet-page{max-width:1400px;margin:0 auto;padding:2rem}.cheatsheet-hero{text-align:center;margin-bottom:3rem}.cheatsheet-hero h1{background:linear-gradient(135deg, var(--primary-hover), #fff);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.75rem;font-size:2.8rem}.cheatsheet-hero p{color:var(--text-secondary);font-size:1.1rem}.cheatsheet-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem;display:grid}.cheat-card{padding:1.5rem;transition:transform .2s,box-shadow .2s}.cheat-card:hover{transform:translateY(-3px);box-shadow:0 12px 40px #9d4edd40}.cheat-card-header{margin-bottom:1.2rem;padding-left:.75rem}.cheat-card-header h2{color:var(--primary-hover);letter-spacing:0;margin:0;font-size:1.1rem}.cheat-items{flex-direction:column;gap:1rem;display:flex}.cheat-item{border-bottom:1px solid var(--border-color);padding-bottom:.8rem}.cheat-item:last-child{border-bottom:none;padding-bottom:0}.cheat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:.4rem;font-size:.78rem;font-weight:600;display:block}.cheat-code{color:#c77dff;white-space:pre;background-color:#00000059;border:1px solid #9d4edd33;border-radius:8px;margin:0;padding:.7rem 1rem;font-family:Fira Code,Courier New,monospace;font-size:.82rem;line-height:1.6;overflow-x:auto}@media (width<=768px){.cheatsheet-grid{grid-template-columns:1fr}.cheatsheet-hero h1{font-size:2rem}}.coaching-page{max-width:1200px;margin:0 auto;padding:2rem}.coaching-hero{text-align:center;margin-bottom:2rem;padding:2rem 1.5rem}.coaching-hero-badge{background:var(--primary-color);color:#fff;border-radius:9999px;margin-bottom:.8rem;padding:.3rem .8rem;font-size:.85rem;font-weight:600;display:inline-block}.coaching-hero h1{background:linear-gradient(135deg, var(--primary-hover), #fff);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:.5rem 0;font-size:2.2rem}.coaching-subtitle{color:var(--text-secondary);margin-bottom:1rem;font-size:1.1rem}.coaching-price-tag{color:#ffb400;margin-bottom:1rem;font-size:1.4rem;font-weight:600}.coaching-meta span{color:var(--text-secondary);margin:0 .6rem;font-size:.95rem;display:inline-block}.calendar-panel{padding:1.5rem}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.cal-nav-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.3rem .6rem;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:.4rem;display:grid}.cal-day-name{text-align:center;color:var(--text-secondary);font-size:.85rem;font-weight:600}.cal-day{border:1px solid var(--border-color);cursor:pointer;height:2.5rem;color:var(--text-primary);background:#ffffff14;border-radius:4px;justify-content:center;align-items:center;display:flex}.cal-day.available:hover{background:#ffffff26}.cal-day.disabled{color:var(--text-secondary);cursor:not-allowed;background:#ffffff08}.cal-day.selected{background:var(--primary-color);color:#fff}.calendar-hint{color:var(--text-secondary);text-align:center;margin-top:.4rem;font-size:.75rem}.timeslots-panel{padding:1.5rem}.timeslots-grid{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.timeslot-btn{border:1px solid var(--border-color);cursor:pointer;background:#ffffff14;border-radius:4px;padding:.4rem .8rem;font-weight:500}.timeslot-btn.selected{background:var(--primary-color);color:#fff}.booking-summary{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.summary-row{color:var(--text-primary);justify-content:space-between;font-size:.95rem;display:flex}.btn-primary.book-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;align-self:flex-start;margin-top:.8rem;padding:.6rem 1.2rem;font-weight:600}.coaching-confirmation{text-align:center;padding:2rem}.confirmation-icon{margin-bottom:.8rem;font-size:3rem}.confirmation-details{flex-direction:column;align-items:center;gap:.5rem;margin:1rem 0;display:flex}.conf-label{margin-right:.5rem;font-weight:600}.zoom-notice{color:var(--text-secondary);justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;font-size:.9rem;display:flex}@media (width<=768px){.coaching-page{padding:1rem}.calendar-grid{grid-template-columns:repeat(7,1fr)}}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{box-sizing:border-box;flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem}
