: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}html,body{overflow-x:clip}img,svg,video,pre,table{max-width:100%}@media (width<=900px){.glass-panel{padding:1.5rem}}@media (width<=600px){.glass-panel{border-radius:12px;padding:1.15rem}h1{font-size:1.75rem}h2{font-size:1.4rem}button,.btn-primary,.btn-secondary{min-height:44px;font-size:1rem}input,select,textarea{font-size:16px}}@media (hover:none){button:hover,.btn-primary:hover,.btn-secondary:hover{transform:none}}.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}@media (width<=900px){.navbar{margin:.75rem 1rem;padding:.85rem 1.25rem}.navbar-links{gap:1.25rem}.navbar-brand a{font-size:1.25rem}}@media (width<=600px){.navbar{border-radius:16px;flex-direction:column;gap:.85rem;margin:.5rem .75rem;padding:1rem}.navbar-brand a{font-size:1.15rem}.navbar-links{flex-wrap:wrap;justify-content:center;gap:.75rem 1.25rem}.navbar-links:empty{display:none}.navbar-auth{flex-wrap:wrap;justify-content:center;width:100%}.navbar-auth .btn-primary,.navbar-auth .btn-secondary{text-align:center}}.navbar-greeting{color:var(--text-secondary);font-weight:500;text-decoration:none}.navbar-greeting:hover{color:var(--primary-hover)}.site-footer{border-top:1px solid var(--border-color);margin-top:3rem;padding:1.5rem 2rem 2rem}.site-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;display:flex}.site-footer-brand{color:var(--text-secondary);margin:0;font-size:.85rem}.site-footer-links{flex-wrap:wrap;gap:1.5rem;display:flex}.site-footer-links a{color:var(--text-secondary);font-size:.85rem;font-weight:500}.site-footer-links a:hover{color:var(--primary-hover)}@media (width<=600px){.site-footer{margin-top:2rem;padding:1.25rem 1rem 1.5rem}.site-footer-inner{text-align:center;flex-direction:column;gap:.85rem}.site-footer-links{justify-content:center;gap:1.25rem}}.book-promo{width:100%}.book-promo-intro{margin-bottom:2rem}.book-promo-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--primary-hover);margin:0 0 .5rem;font-size:.75rem;font-weight:700}.book-promo-intro h2{background:linear-gradient(135deg,#e0aaff,#9d4edd);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.35rem;font-size:2.2rem}.book-promo-subtitle{color:var(--text-secondary);max-width:620px;margin:0 auto .4rem}.book-promo-author{color:var(--text-secondary);margin:0;font-size:.9rem}.book-promo-body{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:1.5rem;display:grid}.book-promo-card{flex-direction:column;display:flex}.book-promo-card h3{color:var(--primary-hover);margin-bottom:1rem}.book-highlights{flex-direction:column;gap:.85rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.book-highlights li{color:var(--text-secondary);padding-left:1.5rem;line-height:1.55;position:relative}.book-highlights li:before{content:"›";color:var(--primary-hover);font-weight:700;position:absolute;left:.35rem}.book-highlights code{color:#c77dff;background:#0000004d;border-radius:4px;padding:.1rem .3rem;font-size:.9em}.book-cta{text-align:center;margin-top:auto}.book-cta:disabled{opacity:.55;cursor:default;box-shadow:none}.book-cta:disabled:hover{background-color:var(--primary-color);box-shadow:none;transform:none}.book-promo-note{color:var(--text-secondary);text-align:center;margin:.75rem 0 0;font-size:.85rem}.book-access-note{border-top:1px solid var(--border-color);margin-top:auto;padding-top:1.25rem}.book-access-note h4{margin:0 0 .4rem;font-size:1rem}.book-access-note p{color:var(--text-secondary);margin:0 0 1rem;font-size:.9rem}@media (width<=600px){.book-promo-intro h2{font-size:1.6rem}.book-promo-subtitle{font-size:.95rem}.book-promo-body{gap:1rem}.book-cta,.book-access-note .btn-secondary{box-sizing:border-box;width:100%;display:block}}.reviews-section{width:100%}.reviews-header{margin-bottom:2rem}.reviews-header h2{color:var(--primary-hover);margin-bottom:.5rem}.reviews-average{color:var(--text-secondary);margin:0}.review-stars{color:#ffb400;letter-spacing:.08em}.reviews-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:1.5rem;display:grid}.review-card{flex-direction:column;gap:.75rem;margin:0;display:flex}.review-body{color:var(--text-primary);margin:0;line-height:1.6}.review-body:before{content:"“"}.review-body:after{content:"”"}.review-author{color:var(--text-secondary);margin-top:auto;font-size:.9rem;font-weight:600}.review-flag{font-style:normal}.review-verified{color:var(--primary-hover);font-weight:500}.review-form-panel{margin-top:2rem}.review-form-panel h3{color:var(--primary-hover);margin:0 0 .35rem}.review-form-intro{color:var(--text-secondary);margin:0 0 1rem;font-size:.9rem}.rating-picker{gap:.35rem;margin-bottom:1rem;display:flex}.rating-star{box-shadow:none;cursor:pointer;color:#6b6b8a;background:0 0;border:none;padding:.2rem;font-size:1.75rem;line-height:1;transition:color .15s,transform .15s}.rating-star:hover{box-shadow:none;background:0 0;transform:scale(1.1)}.rating-star.on{color:#ffb400}.rating-star:focus-visible{outline:2px solid var(--primary-hover);border-radius:4px}.review-textarea{box-sizing:border-box;border:1px solid var(--border-color);width:100%;min-height:110px;color:var(--text-primary);font:inherit;resize:vertical;background:#ffffff0d;border-radius:8px;padding:.75rem}.review-textarea:focus{border-color:var(--primary-hover);outline:none}.review-status{color:var(--text-secondary);margin:.5rem 0 0;font-size:.9rem}@media (width<=600px){.reviews-grid{gap:1rem}.review-body{font-size:.95rem}.rating-star{padding:.3rem;font-size:2rem}.review-textarea{font-size:16px}}.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(min(300px,100%),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}@media (width<=900px){.home-container{gap:2.5rem;padding-top:2rem}.gradient-text{font-size:2.5rem}.features-section{gap:1.25rem}}@media (width<=600px){.home-container{gap:2rem;padding-top:1rem}.gradient-text{font-size:1.9rem;line-height:1.2}.subtitle{margin-bottom:1.5rem;font-size:1rem}.hero-cta{flex-direction:column;align-items:stretch;gap:.75rem}.large-btn{padding:.85rem 1.25rem;font-size:1rem}}.password-field{display:block;position:relative}.password-field input{padding-right:3rem}.password-toggle{width:3rem;height:calc(100% - 1rem);box-shadow:none;cursor:pointer;opacity:.75;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.1rem;line-height:1;transition:opacity .2s;display:flex;position:absolute;top:0;right:0}.password-toggle:hover{box-shadow:none;opacity:1;background:0 0;transform:none}.password-toggle:focus-visible{outline:2px solid var(--primary-hover);outline-offset:-2px;border-radius:8px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=600px){.password-toggle{width:3.25rem;font-size:1.2rem}}.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}.auth-error{color:#ff4d4d;background-color:#ff4d4d1a;border:1px solid #ff4d4d4d;border-radius:6px;margin-bottom:1rem;padding:.6rem .75rem;font-size:.9rem}.auth-success{color:#2ecc71;background-color:#2ecc711f;border:1px solid #2ecc7159;border-radius:6px;margin-bottom:1rem;padding:.6rem .75rem;font-size:.9rem}.auth-form select{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-family:inherit;font-size:1rem;transition:border-color .3s,background-color .3s}.auth-form select:focus{border-color:var(--primary-hover);background-color:#ffffff1a;outline:none}.auth-form select option{background-color:var(--surface-color);color:var(--text-primary)}.forgot-link{width:100%;box-shadow:none;color:var(--primary-hover);text-align:right;cursor:pointer;background:0 0;border:none;margin:-.25rem 0 1rem;padding:0;font-size:.88rem;font-weight:600;display:block}.forgot-link:hover{box-shadow:none;background:0 0;text-decoration:underline;transform:none}.forgot-panel{border:1px solid var(--border-color);text-align:left;background:#ffffff0a;border-radius:10px;margin-top:1.25rem;padding:1rem}.forgot-panel h3{color:var(--primary-hover);margin:0 0 .35rem;font-size:1rem}.forgot-panel p{color:var(--text-secondary);margin:0 0 .85rem;font-size:.85rem}.forgot-actions{gap:.6rem;display:flex}.forgot-actions button{flex:1}@media (width<=600px){.auth-container{align-items:flex-start;min-height:auto;padding:1rem 0}.auth-card{max-width:100%}.auth-subtitle{margin-bottom:1.5rem;font-size:.95rem}.full-width{min-height:46px}.auth-form select{min-height:46px;font-size:16px}.forgot-actions{flex-direction:column}}.legal-page{max-width:820px;margin:0 auto}.legal-card{line-height:1.7}.legal-card h1{color:var(--primary-hover);margin-bottom:.25rem}.legal-updated{color:var(--text-secondary);margin-top:0;margin-bottom:2rem;font-size:.85rem}.legal-card h2{color:var(--primary-hover);margin-top:2rem;margin-bottom:.6rem;font-size:1.15rem}.legal-card p,.legal-card li{color:var(--text-secondary)}.legal-card strong{color:var(--text-primary)}.legal-card ul{padding-left:1.2rem}.legal-card li{margin-bottom:.5rem}.legal-table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.92rem}.legal-table th,.legal-table td{text-align:left;border-bottom:1px solid var(--border-color);vertical-align:top;color:var(--text-secondary);padding:.6rem .5rem}.legal-table th{color:var(--text-primary);font-weight:600}.legal-footer-link{border-top:1px solid var(--border-color);margin-top:2.5rem;padding-top:1.25rem}@media (width<=600px){.legal-card{line-height:1.65}.legal-card h2{font-size:1.05rem}.legal-table,.legal-table tbody,.legal-table tr,.legal-table td{width:100%;display:block}.legal-table thead{display:none}.legal-table tr{border-bottom:1px solid var(--border-color);margin-bottom:1rem;padding-bottom:.75rem}.legal-table td{border:none;padding:.15rem 0}.legal-table td:first-child{color:var(--text-primary);font-weight:600}.legal-table td:last-child{opacity:.8;font-size:.85rem}}.notfound-container{justify-content:center;align-items:center;min-height:60vh;display:flex}.notfound-card{text-align:center;max-width:520px}.notfound-code{background:linear-gradient(135deg,#e0aaff,#9d4edd);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-size:4rem;font-weight:800;line-height:1}.notfound-card h1{margin-bottom:.75rem;font-size:1.6rem}.notfound-text{color:var(--text-secondary);margin-bottom:1.75rem}.notfound-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}@media (width<=600px){.notfound-container{min-height:auto;padding:1.5rem 0}.notfound-code{font-size:3rem}.notfound-card h1{font-size:1.35rem}.notfound-actions{flex-direction:column}}.profile-page{flex-direction:column;gap:1.5rem;max-width:720px;margin:0 auto;display:flex}.profile-card h1{color:var(--primary-hover);margin-bottom:.25rem}.profile-card h2{color:var(--primary-hover);margin-bottom:.75rem;font-size:1.15rem}.profile-email{color:var(--text-secondary);margin-top:0;font-size:.9rem}.profile-bio{color:var(--text-secondary);margin-top:.5rem}.profile-stats{flex-wrap:wrap;gap:2rem;margin:1.5rem 0;display:flex}.profile-stats>div{flex-direction:column;display:flex}.profile-stat-value{color:var(--text-primary);font-size:1.4rem;font-weight:700}.profile-stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:.8rem}.profile-facts{border-top:1px solid var(--border-color);grid-template-columns:auto 1fr;gap:.4rem 1.5rem;margin:0;padding-top:1rem;display:grid}.profile-facts dt{color:var(--text-secondary);font-size:.9rem}.profile-facts dd{color:var(--text-primary);margin:0;font-size:.9rem}.field-hint{color:var(--text-secondary);margin:-.6rem 0 0;font-size:.8rem}.profile-textarea{box-sizing:border-box;border:1px solid var(--border-color);width:100%;min-height:90px;color:var(--text-primary);font:inherit;resize:vertical;background:#ffffff0d;border-radius:8px;margin-bottom:1rem;padding:.75rem}.profile-textarea:focus{border-color:var(--primary-hover);outline:none}.profile-privacy-intro{color:var(--text-secondary);margin-top:0;font-size:.9rem}.switch-row{cursor:pointer;align-items:flex-start;gap:.75rem;padding:.65rem 0;display:flex}.switch-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-color);cursor:pointer;flex-shrink:0;margin:.15rem 0 0}.switch-row-main{border:1px solid var(--border-color);background:#ffffff0a;border-radius:10px;margin-bottom:.5rem;padding:1rem}.switch-note{color:var(--text-secondary);margin-top:.2rem;font-size:.85rem;font-weight:400;display:block}.switch-group{border:none;margin:0;padding:0 0 0 .5rem}.switch-group:disabled{opacity:.45}.switch-group:disabled .switch-row{cursor:not-allowed}.profile-never-shared{border-top:1px solid var(--border-color);color:var(--text-secondary);margin-top:1.25rem;padding-top:1rem;font-size:.85rem}.profile-preview-link{margin-top:1rem;font-size:.9rem}@media (width<=600px){.profile-page{gap:1rem}.profile-stats{gap:1.25rem;margin:1.25rem 0}.profile-stat-value{font-size:1.2rem}.profile-textarea{font-size:16px}.switch-row{padding:.8rem 0}.switch-row input[type=checkbox]{width:20px;height:20px}}.verify-banner{border-left:4px solid #ffb400}.verify-banner p{color:var(--text-secondary);margin:0 0 .75rem}.verify-banner strong{color:var(--text-primary)}.verify-banner-msg{color:#2ecc71!important;margin-bottom:0!important}.verified-badge{color:#2ecc71;font-weight:600}.certificate-page{max-width:820px;margin:0 auto}.certificate-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.certificate-locked{text-align:center}.certificate-locked h1{color:var(--primary-hover);font-size:1.5rem}.certificate-locked p{color:var(--text-secondary)}.certificate-progress{margin:1.75rem 0}.certificate-bar{background:#ffffff1a;border-radius:999px;height:10px;margin-bottom:.75rem;overflow:hidden}.certificate-bar-fill{background:linear-gradient(90deg,#9d4edd,#e0aaff);height:100%;transition:width .4s}.certificate-sheet{color:#1a1a2e;background:#fdfcff;border-radius:12px;padding:1rem;box-shadow:0 12px 40px #00000059}.certificate-inner{text-align:center;border:2px solid #9d4edd;border-radius:8px;padding:3rem 2.5rem}.certificate-eyebrow{text-transform:uppercase;letter-spacing:.22em;color:#7b2cbf;margin:0 0 2rem;font-size:.78rem;font-weight:700}.certificate-awarded{color:#555;margin:0 0 .4rem;font-size:.95rem}.certificate-name{color:#3c096c;margin:0 0 1.5rem;font-size:2.4rem;font-weight:800;line-height:1.15}.certificate-body{color:#333;max-width:32rem;margin:0 auto 2rem;line-height:1.7}.certificate-meta{flex-wrap:wrap;justify-content:center;gap:3rem;margin-bottom:2.5rem;display:flex}.certificate-meta>div{flex-direction:column;display:flex}.certificate-meta-value{color:#3c096c;font-size:1.15rem;font-weight:700}.certificate-meta-label{text-transform:uppercase;letter-spacing:.08em;color:#777;font-size:.72rem}.certificate-signature{color:#3c096c;margin:0;font-size:1.3rem;font-style:italic}.certificate-signature-label{text-transform:uppercase;letter-spacing:.08em;color:#777;border-top:1px solid #ddd;margin:.2rem 0 0;padding-top:.4rem;font-size:.75rem;display:inline-block}.certificate-share{text-align:center;color:var(--text-secondary);margin-top:1.5rem;font-size:.9rem}@media (width<=600px){.certificate-inner{padding:2rem 1.25rem}.certificate-name{font-size:1.7rem}.certificate-body{font-size:.95rem}.certificate-meta{gap:1.5rem}.certificate-actions{flex-direction:column}}@media print{body{background:#fff}.navbar,.site-footer,.certificate-actions,.certificate-share{display:none!important}.main-content,.content-wrapper,.certificate-page{max-width:none;margin:0;padding:0}.certificate-sheet{box-shadow:none;border-radius:0;padding:0}.certificate-inner{page-break-inside:avoid;border-color:#7b2cbf}}.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<=900px){.mywork-container{grid-template-columns:minmax(190px,1fr) 2.4fr;gap:1rem;height:auto;min-height:calc(100vh - 120px)}.sidebar{max-height:calc(100vh - 140px);position:sticky;top:1rem}}@media (width<=600px){.mywork-container{grid-template-columns:1fr;gap:1rem;height:auto;min-height:0}.sidebar{max-height:32vh;padding:1rem;position:static}.sidebar .module h4{font-size:.95rem}.sidebar ul{padding-left:.5rem}.sidebar li{min-height:40px;padding:.5rem .25rem;font-size:.9rem}.editor-header{z-index:2;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);margin:-.5rem 0 .75rem;padding:.5rem 0;position:sticky;top:0}.editor-header h3{font-size:1.05rem}.run-btn{min-height:44px;padding:.6em 1.4em}.editor-wrapper .cm-editor,.editor-wrapper .cm-scroller{height:260px;max-height:45vh}.editor-wrapper .cm-content,.editor-wrapper .cm-gutters{font-size:16px}.output-section{margin-top:1rem;padding:.75rem}.console-output{white-space:pre-wrap;word-break:break-word;font-size:.85rem}.problem-section h2{font-size:1.2rem}}.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{min-height:0;overflow-y:auto}.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}@media (width<=600px){.scores-container{padding:.5rem 0}.table-wrapper{margin-top:1.25rem}.leaderboard-table th,.leaderboard-table td{padding:.6rem .4rem;font-size:.9rem}.leaderboard-table th{letter-spacing:.02em;font-size:.72rem}}.leaderboard-name-link{color:var(--text-primary);border-bottom:1px dotted var(--primary-hover);font-weight:600;text-decoration:none}.leaderboard-name-link:hover{color:var(--primary-hover)}.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}}@media (width<=600px){.cheatsheet-page{padding:1rem .75rem}.cheatsheet-hero{margin-bottom:1.75rem}.cheatsheet-hero h1{font-size:1.7rem}.cheatsheet-hero p{font-size:.95rem}.cheat-card{padding:1.1rem}.cheat-code{-webkit-overflow-scrolling:touch;padding:.6rem .7rem;font-size:.78rem}}.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-price-approx{color:var(--text-secondary);margin-top:-.7rem;margin-bottom:1rem;font-size:.85rem}.price-approx-inline{color:var(--text-secondary);font-size:.85em}.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<=600px){.coaching-hero{margin-bottom:1.25rem;padding:1.25rem .85rem}.coaching-hero h1{font-size:1.6rem}.coaching-subtitle{font-size:.95rem}.coaching-meta span{margin:.2rem 0;display:block}.calendar-panel,.timeslots-panel{padding:1rem .75rem}.calendar-grid{gap:.2rem}.cal-day{height:2.6rem;font-size:.9rem}.cal-day-name{font-size:.7rem}.cal-nav-btn{min-width:44px;min-height:40px;font-size:1rem}.timeslots-grid{gap:.5rem}.timeslot-btn{text-align:center;flex:calc(33.333% - .5rem);min-height:44px;padding:.5rem .4rem}.summary-row{gap:.75rem;font-size:.9rem}.btn-primary.book-btn{text-align:center;align-self:stretch;min-height:46px}.coaching-confirmation{padding:1.25rem}}@media (width<=768px){.coaching-page{padding:1rem}.calendar-grid{grid-template-columns:repeat(7,1fr)}}.booking-form{text-align:left;flex-direction:column;gap:.4rem;margin-top:1rem;display:flex}.booking-label{opacity:.9;font-size:.9rem;font-weight:600}.booking-input{box-sizing:border-box;width:100%;color:inherit;font:inherit;resize:vertical;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:8px;padding:.6rem .7rem;font-size:.9rem}.booking-input:focus{background:#ffffff1a;border-color:#4b8bbe;outline:none}.booking-hint{opacity:.65;margin:0 0 .4rem;font-size:.78rem}.booking-checkbox{cursor:pointer;align-items:center;gap:.55rem;margin:.3rem 0;font-size:.9rem;display:flex}.booking-checkbox input{accent-color:#4b8bbe;cursor:pointer;width:16px;height:16px}.admin-page{max-width:1100px;margin:0 auto;padding:1.5rem 1rem 3rem}.admin-title{margin-bottom:1.2rem}.admin-kpis{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.4rem;display:grid}.admin-kpi{flex-direction:column;gap:.25rem;padding:1.1rem 1.2rem;display:flex}.kpi-label{opacity:.7;text-transform:uppercase;letter-spacing:.04em;font-size:.82rem}.kpi-value{font-size:1.9rem;font-weight:700;line-height:1.1}.kpi-sub{opacity:.6;font-size:.78rem}.admin-card{margin-bottom:1.4rem;padding:1.3rem 1.4rem}.admin-card h2{margin-top:0;margin-bottom:.9rem;font-size:1.15rem}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #ffffff14;padding:.55rem .6rem}.admin-table th{text-transform:uppercase;letter-spacing:.04em;opacity:.65;font-size:.78rem}.admin-email{opacity:.6;font-size:.78rem}.admin-topic-cell{max-width:320px}.admin-hint{opacity:.6;margin:.7rem 0 0;font-size:.78rem}.admin-cal-header{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.admin-cal-header h2{margin:0}.admin-cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.admin-cal-dayname{text-align:center;text-transform:uppercase;opacity:.55;padding-bottom:4px;font-size:.74rem}.admin-cal-day{aspect-ratio:1;color:inherit;font:inherit;cursor:default;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative}.admin-cal-day.today{border-color:#4b8bbecc}.admin-cal-day.has-sessions{cursor:pointer;background:#4b8bbe47}.admin-cal-day.has-sessions:hover{background:#4b8bbe73}.admin-cal-day.selected{outline:2px solid #4b8bbe}.admin-cal-num{font-size:.9rem}.admin-cal-badge{color:#06281a;background:#2ecc71;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.68rem;font-weight:700;display:flex;position:absolute;top:3px;right:4px}.admin-day-detail{border-top:1px solid #ffffff1a;margin-top:1.1rem;padding-top:.9rem}.admin-day-detail h3{margin:0 0 .6rem;font-size:1rem}.admin-session{background:#ffffff0a;border-radius:8px;flex-direction:column;gap:.3rem;margin-bottom:.6rem;padding:.7rem .85rem;font-size:.88rem;display:flex}.admin-session-head{align-items:center;gap:.6rem;display:flex}.admin-topic{opacity:.85}.tag{border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:600}.tag-free{color:#2ecc71;background:#2ecc7133}.tag-paid{color:#f1c40f;background:#f1c40f33}.admin-hint{color:var(--text-secondary);margin:0 0 1rem;font-size:.85rem}.review-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.review-badge-pending{color:#ffb400;background:#ffb4002e}.review-badge-approved{color:#2ecc71;background:#2ecc712e}.review-badge-rejected{color:#e74c3c;background:#e74c3c2e}.review-actions{flex-wrap:wrap;gap:.4rem;display:flex}.review-actions button{box-shadow:none;padding:.35em .7em;font-size:.8rem}.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}@media (width<=900px){.main-content{padding:1.5rem 1rem}}@media (width<=600px){.main-content{padding:1rem .75rem}}
