@import "https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--bg-0:#0b0f14;--bg-1:#101720;--bg-2:#151e2a;--bg-3:#1b2736;--tx-1:#e8eef6;--tx-2:#a6b4c6;--tx-3:#6c7a8f;--line:#94a3b821;--line-strong:#94a3b83d;--mint:#2ee6a8;--mint-deep:#14b984;--mint-ink:#062d20;--amber:#ffc757;--rose:#ff8093;--sky:#5cc8ff;--violet:#b18cff;--cat-security:var(--rose);--cat-logic:var(--violet);--cat-performance:var(--sky);--cat-style:var(--amber);--font-display:"Sora", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--bg-primary:var(--bg-0);--bg-secondary:var(--bg-1);--bg-card:var(--bg-1);--text-primary:var(--tx-1);--text-secondary:var(--tx-2);--text-muted:var(--tx-3);--primary-color:var(--mint);--primary-hover:var(--mint-deep);--secondary-color:var(--tx-2);--secondary-hover:var(--tx-1);--border-color:var(--line);--shadow-color:#01040966;--header-bg:var(--bg-1);--header-text:var(--tx-1);--success-color:var(--mint);--warning-color:var(--amber);--error-color:var(--rose)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:focus-visible{outline:2px solid var(--mint);outline-offset:2px}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-header{background-color:var(--header-bg);color:var(--header-text);box-shadow:0 2px 4px var(--shadow-color);padding:1rem 0}.header-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;padding:0 1rem;display:flex}.logo h1{color:#3498db;margin:0;font-size:1.8rem}.logo p{opacity:.8;margin:0;font-size:.9rem}.main-navigation ul{gap:2rem;margin:0;padding:0;list-style:none;display:flex}.main-navigation a{color:#fff;border-radius:4px;padding:.5rem 1rem;text-decoration:none;transition:background-color .2s}.main-navigation a:hover{background-color:#ffffff1a}.language-toggle{align-items:center;gap:.5rem;display:flex}.language-label{color:#ffffffe6;margin:0;font-size:.9rem;font-weight:500}.language-selector{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#ffffff1a;border:1px solid #fff3;border-radius:6px;padding:.5rem .75rem;font-size:.9rem;transition:all .2s}.language-selector:hover{background-color:#fff3;border-color:#fff6}.language-selector:focus{background-color:#fff3;border-color:#3498db;outline:none;box-shadow:0 0 0 2px #3498db4d}.language-selector option{color:#fff;background-color:#2c3e50;padding:.5rem}.app-main{box-sizing:border-box;flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem 1rem}.app-footer{background-color:var(--header-bg);color:var(--header-text);text-align:center;margin-top:auto;padding:1rem}.btn{cursor:pointer;border:none;border-radius:4px;margin:.25rem;padding:.75rem 1.5rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}.btn-primary{color:#fff;background-color:#3498db}.btn-primary:hover{background-color:#2980b9}.btn-secondary{color:#fff;background-color:#95a5a6}.btn-secondary:hover{background-color:#7f8c8d}.home-page{text-align:center}.hero-section{margin-bottom:3rem}.hero-section h2{color:#2c3e50;margin-bottom:1.5rem;font-size:2rem}.cta-buttons{margin-top:2rem}.features-section h3{color:#2c3e50;margin-bottom:2rem;font-size:1.5rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem;display:grid}.feature-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:none;border-radius:6px;padding:2rem}.feature-card h4{color:var(--primary-color);margin-bottom:1rem}.language-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem;display:grid}.language-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:none;cursor:pointer;border-radius:6px;padding:1.5rem;transition:transform .2s}.language-card:hover{transform:translateY(-2px)}.language-card h4{color:#3498db;margin-bottom:.5rem}.programming-language-selector{margin:2rem 0}.programming-language-selector h3{color:#2c3e50;margin-bottom:1.5rem;font-size:1.3rem}.language-options{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.language-option{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;border-radius:6px;align-items:center;gap:1rem;padding:1.5rem;transition:all .2s;display:flex;position:relative}.language-option:hover{border-color:var(--primary-color);box-shadow:none;transform:none}.language-option.selected{border-color:var(--primary-color);box-shadow:none;background-color:#58a6ff1a}.language-option:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #58a6ff4d}.language-icon{background:linear-gradient(135deg,#3498db,#2980b9);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.language-symbol{color:#fff;font-size:1.2rem;font-weight:700}.language-info{flex:1}.language-info h4{color:#2c3e50;margin:0 0 .5rem;font-size:1.1rem}.language-info p{color:#7f8c8d;margin:0;font-size:.9rem}.selection-indicator{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.checkmark{color:#27ae60;font-size:1.2rem;font-weight:700}.language-dropdown{align-items:center;gap:.5rem;margin-top:1rem;display:none}.language-dropdown label{color:#2c3e50;font-weight:500}.language-select{background-color:#fff;border:1px solid #ddd;border-radius:4px;min-width:150px;padding:.5rem;font-size:1rem}.language-select:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 2px #3498db33}.challenges-language-selector{background:#fff;border-radius:8px;margin-bottom:2rem;padding:2rem;box-shadow:0 2px 8px #0000001a}.challenges-list h3{color:#2c3e50;margin-bottom:1rem}.challenge-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:1.5rem;display:grid}.challenge-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:none;border-radius:6px;padding:1.5rem;transition:border-color .2s,background-color .2s}.challenge-card:hover{border-color:var(--primary-color);box-shadow:none}.challenge-card h4{color:var(--text-primary);margin:0 0 1rem;font-size:1.2rem}.difficulty-badge,.language-badge{text-transform:uppercase;border-radius:12px;padding:.25rem .75rem;font-size:.8rem;font-weight:500}.difficulty-badge.difficulty-junior{color:#27ae60;background-color:#d5f4e6}.difficulty-badge.difficulty-mid{color:#f39c12;background-color:#fef9e7}.difficulty-badge.difficulty-senior{color:#e74c3c;background-color:#fadbd8}.language-badge{color:#3498db;background-color:#ebf3fd}.challenge-card p{color:#7f8c8d;margin-bottom:1.5rem;line-height:1.5}.challenge-card .btn{width:100%;margin:0}.api-status-notice,.error-message{border-radius:4px;margin:1rem 0;padding:1rem}.api-status-notice{background-color:#fef9e7;border-left:4px solid #f39c12}.error-message{background-color:#fadbd8;border-left:4px solid #e74c3c}@media (width<=768px){.language-options{grid-template-columns:1fr}.language-option{padding:1rem}.language-dropdown{flex-direction:column;align-items:stretch;gap:.5rem;display:flex}.language-select{min-width:auto}}.profile-placeholder{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem;display:grid}.profile-stats,.profile-badges,.profile-challenges{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.leaderboard-header{color:#2c3e50;background:#fff;border-radius:8px 8px 0 0;grid-template-columns:1fr 2fr 1fr 1fr;gap:1rem;padding:1rem;font-weight:700;display:grid}.leaderboard-empty{text-align:center;color:#7f8c8d;background:#fff;border-radius:0 0 8px 8px;padding:2rem}@media (width<=768px){.header-content{text-align:center;flex-direction:column}.main-navigation ul{flex-wrap:wrap;justify-content:center}.features-grid,.language-grid{grid-template-columns:1fr}.leaderboard-header{text-align:center;grid-template-columns:1fr}}.pr-dojo{max-width:1200px;margin:0 auto;padding:1rem}.pr-dojo-header{margin-bottom:2rem}.pr-dojo-header h2{color:#2c3e50;margin-bottom:.5rem}.challenge-info h3{color:#34495e;margin-bottom:.5rem}.file-info{align-items:center;gap:1rem;display:flex}.filename{background:#f8f9fa;border-radius:4px;padding:.25rem .5rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem}.code-review-container{border:1px solid #e1e8ed;border-radius:8px;margin-bottom:2rem;position:relative;overflow:hidden}.code-display{position:relative}.code-header{color:#586069;background:#f6f8fa;border-bottom:1px solid #e1e8ed;padding:.75rem 1rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem}.code-content{background:#1e1e1e;min-height:400px;display:flex}.line-numbers{-webkit-user-select:none;user-select:none;background:#252526;border-right:1px solid #3e3e42;min-width:60px;padding:1rem .5rem}.line-number{color:#858585;cursor:pointer;border-radius:3px;margin:0 2px;padding:0 .5rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;transition:all .2s;display:block}.line-number:hover{color:#ccc;background:#2d2d30}.line-number.active{color:#fff;background:#0e639c}.line-number.has-comment{color:#fff;background:#f39c12;font-weight:700}.line-number.has-comment:hover{background:#e67e22}.code-lines{flex:1;overflow-x:auto}.comment-indicators{pointer-events:none;position:absolute;top:0;right:1rem}.comment-indicator{pointer-events:auto;position:absolute;right:0}.comment-bubble{background:#fff;border:1px solid #e1e8ed;border-radius:8px;max-width:300px;padding:.75rem;position:relative;box-shadow:0 2px 8px #0000001a}.comment-bubble:before{content:"";border-top:8px solid #0000;border-bottom:8px solid #0000;border-right:8px solid #fff;width:0;height:0;position:absolute;top:50%;left:-8px;transform:translateY(-50%)}.comment-category{color:#f39c12;text-transform:uppercase;margin-bottom:.25rem;font-size:.8rem;font-weight:600}.comment-text{color:#2c3e50;font-size:.9rem;line-height:1.4}.delete-comment{color:#95a5a6;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:.25rem;font-size:1.2rem;line-height:1;position:absolute;top:.25rem;right:.25rem}.delete-comment:hover{color:#e74c3c;background:#ecf0f1}.comment-interface{z-index:1000;background:#fff;border:1px solid #e1e8ed;border-radius:8px;width:90%;max-width:500px;max-height:80vh;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 4px 20px #00000026}.comment-interface-header{background:#f6f8fa;border-bottom:1px solid #e1e8ed;justify-content:space-between;align-items:center;padding:1rem;display:flex}.comment-interface-header h4{color:#2c3e50;margin:0}.close-button{color:#95a5a6;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:.25rem;font-size:1.5rem}.close-button:hover{color:#e74c3c;background:#ecf0f1}.comment-form{padding:1rem}.form-group{margin-bottom:1rem}.form-group label{color:#2c3e50;margin-bottom:.5rem;font-weight:600;display:block}.category-select{background:#fff;border:1px solid #ddd;border-radius:4px;width:100%;padding:.75rem;font-size:1rem}.category-select:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 2px #3498db33}.category-description{color:#7f8c8d;margin-top:.5rem;font-size:.9rem;font-style:italic}.comment-textarea{resize:vertical;border:1px solid #ddd;border-radius:4px;width:100%;min-height:100px;padding:.75rem;font-family:inherit;font-size:1rem}.comment-textarea:focus{border-color:#3498db;outline:none;box-shadow:0 0 0 2px #3498db33}.textarea-help{color:#7f8c8d;justify-content:space-between;margin-top:.5rem;font-size:.8rem;display:flex}.form-actions{justify-content:flex-end;gap:1rem;margin-top:1.5rem;display:flex}.review-summary{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.comments-count{color:#2c3e50;font-weight:600}.submit-review{padding:.75rem 2rem;font-size:1.1rem;font-weight:600}@media (width<=768px){.pr-dojo{padding:.5rem}.code-content{flex-direction:column}.line-numbers{display:none}.comment-interface{width:95%;margin:1rem}.file-info{flex-direction:column;align-items:flex-start;gap:.5rem}.review-summary{text-align:center;flex-direction:column;gap:1rem}}@media (prefers-color-scheme:dark){.comment-interface{color:#ecf0f1;background:#2c3e50;border-color:#34495e}.comment-interface-header{background:#34495e;border-color:#4a5f7a}.comment-interface-header h4{color:#ecf0f1}.category-select,.comment-textarea,.comment-bubble{color:#ecf0f1;background:#34495e;border-color:#4a5f7a}.comment-bubble:before{border-right-color:#34495e}}.feedback-visualization{max-width:1200px;margin:0 auto;padding:1rem}.feedback-header{margin-bottom:2rem}.feedback-header h2{color:#2c3e50;margin-bottom:.5rem}.scorecard{background:#fff;border-radius:8px;margin-bottom:2rem;overflow:hidden;box-shadow:0 2px 8px #0000001a}.scorecard-header{color:#fff;background:linear-gradient(135deg,#3498db,#2980b9);padding:1rem}.scorecard-header h3{margin:0;font-size:1.3rem}.scorecard-content{padding:1.5rem}.score-summary{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.score-item{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;flex-direction:column;align-items:center;padding:1rem;display:flex}.score-item.primary{color:#fff;background:linear-gradient(135deg,#27ae60,#229954);border-color:#27ae60}.score-label{text-align:center;margin-bottom:.5rem;font-size:.9rem;font-weight:500}.score-value{font-size:2rem;font-weight:700}.score-breakdown h4{color:#2c3e50;margin-bottom:1rem;font-size:1.1rem}.breakdown-items{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;display:grid}.breakdown-item{background:#f8f9fa;border-left:4px solid #3498db;border-radius:6px;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.breakdown-label{color:#2c3e50;font-size:.9rem}.breakdown-value{color:#3498db;font-weight:700}.level-up-notification{color:#fff;text-align:center;background:linear-gradient(135deg,#f39c12,#e67e22);border-radius:8px;margin-top:1.5rem;padding:1rem}.level-up-text{font-size:1.1rem;font-weight:700}.earned-badges{margin-top:1.5rem}.earned-badges h4{color:#2c3e50;margin-bottom:1rem}.badge-list{flex-wrap:wrap;gap:.5rem;display:flex}.earned-badge{color:#fff;background:linear-gradient(135deg,#9b59b6,#8e44ad);border-radius:20px;padding:.5rem 1rem;font-size:.9rem;font-weight:500}.feedback-code-container{background:#fff;border-radius:8px;margin-bottom:2rem;overflow:hidden;box-shadow:0 2px 8px #0000001a}.feedback-code-header{background:#f6f8fa;border-bottom:1px solid #e1e8ed;justify-content:space-between;align-items:center;padding:1rem;display:flex}.feedback-code-header h3{color:#2c3e50;margin:0}.legend{gap:1.5rem;display:flex}.legend-item{color:#586069;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.legend-color{border-radius:3px;width:16px;height:16px}.legend-color.correct{background:#28a745}.legend-color.missed{background:#dc3545}.code-display-feedback{position:relative}.code-content-feedback{background:#1e1e1e;min-height:400px;display:flex;position:relative}.line-numbers-feedback{-webkit-user-select:none;user-select:none;z-index:2;background:#252526;border-right:1px solid #3e3e42;min-width:60px;padding:1rem .5rem;position:relative}.feedback-line-number{color:#858585;border-radius:3px;margin:0 2px;padding:0 .5rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;display:block;position:relative}.feedback-line-number.highlight-correct{color:#fff;background:#28a745;font-weight:700}.feedback-line-number.highlight-missed{color:#fff;background:#dc3545;font-weight:700}.code-lines-feedback{z-index:1;flex:1;position:relative;overflow-x:auto}.line-overlays{pointer-events:none;z-index:1;position:absolute;inset:0}.line-overlay{opacity:.2;position:absolute;left:0;right:0}.line-overlay.correct{background:#28a745}.line-overlay.missed{background:#dc3545}.issue-explanations{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.issue-explanations h3{color:#2c3e50;margin-bottom:1.5rem;font-size:1.3rem}.explanation-section{margin-bottom:2rem}.explanation-section:last-child{margin-bottom:0}.explanation-section-title{border-bottom:2px solid;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.1rem}.explanation-section-title.correct{color:#28a745;border-color:#28a745}.explanation-section-title.missed{color:#dc3545;border-color:#dc3545}.explanation-list{flex-direction:column;gap:1rem;display:flex}.explanation-item{border-left:4px solid;border-radius:8px;padding:1rem}.explanation-item.correct{background:#f8fff9;border-color:#28a745}.explanation-item.missed{background:#fff8f8;border-color:#dc3545}.explanation-header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.line-reference{color:#2c3e50;background:#f8f9fa;border-radius:4px;padding:.25rem .5rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;font-weight:700}.status-badge{text-transform:uppercase;border-radius:12px;padding:.25rem .75rem;font-size:.8rem;font-weight:500}.status-badge.correct{color:#fff;background:#28a745}.status-badge.missed{color:#fff;background:#dc3545}.category-badge{text-transform:uppercase;color:#fff;border-radius:12px;padding:.25rem .75rem;font-size:.8rem;font-weight:500}.explanation-content{color:#2c3e50;line-height:1.5}.issue-explanation{margin-bottom:.75rem}.issue-keywords{align-items:center;gap:.5rem;font-size:.9rem;display:flex}.keywords-label{color:#7f8c8d;font-weight:500}.keywords-list{color:#2c3e50;background:#f8f9fa;border-radius:4px;padding:.25rem .5rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.overall-feedback{border-top:2px solid #e9ecef;margin-top:2rem;padding-top:1.5rem}.overall-feedback h4{color:#2c3e50;margin-bottom:1rem}.feedback-content{color:#2c3e50;background:#f8f9fa;border-left:4px solid #3498db;border-radius:6px;padding:1rem;line-height:1.6}@media (width<=768px){.feedback-visualization{padding:.5rem}.feedback-code-header{flex-direction:column;align-items:flex-start;gap:1rem}.legend{flex-direction:column;gap:.5rem}.score-summary,.breakdown-items{grid-template-columns:1fr}.explanation-header{flex-direction:column;align-items:flex-start;gap:.5rem}.code-content-feedback{flex-direction:column}.line-numbers-feedback{display:none}}@media (prefers-color-scheme:dark){.scorecard,.feedback-code-container,.issue-explanations{color:#ecf0f1;background:#2c3e50}.feedback-code-header{background:#34495e;border-color:#4a5f7a}.explanation-item.correct{background:#1e3a2e}.explanation-item.missed{background:#3a1e1e}.line-reference,.keywords-list,.feedback-content{color:#ecf0f1;background:#34495e}}.feedback-page{background:#f5f5f5;min-height:100vh}.error-container{text-align:center;background:#fff;border-radius:8px;max-width:500px;margin:2rem auto;padding:2rem;box-shadow:0 2px 8px #0000001a}.error-container h2{color:#e74c3c;margin-bottom:1rem}.error-container p{color:#7f8c8d;margin-bottom:.5rem}.feedback-actions{justify-content:center;gap:1rem;margin:2rem 0;padding:0 1rem;display:flex}@media (width<=768px){.feedback-actions{flex-direction:column;align-items:center}.feedback-actions .btn{width:100%;max-width:300px}}.profile-page{max-width:1200px;margin:0 auto;padding:1rem}.profile-page h2{color:#2c3e50;margin-bottom:2rem;font-size:2rem}.profile-content{grid-template-columns:2fr 1fr;gap:2rem;display:grid}.profile-main,.profile-sidebar{flex-direction:column;gap:2rem;display:flex}.loading-container,.error-container{text-align:center;background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 8px #0000001a}.loading{color:#3498db;font-size:1.1rem}.error{color:#e74c3c;margin-bottom:1rem}.user-profile-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:2rem;box-shadow:0 4px 16px #0000001a}.profile-header{align-items:center;gap:1.5rem;margin-bottom:2rem;display:flex}.profile-avatar{background:linear-gradient(135deg,#3498db,#2980b9);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex}.avatar-initial{color:#fff;font-size:2rem;font-weight:700}.profile-info{flex:1}.username{color:#2c3e50;margin:0 0 .5rem;font-size:1.8rem}.level-info{align-items:center;gap:.5rem;display:flex}.level{color:#fff;background:linear-gradient(135deg,#f39c12,#e67e22);border-radius:20px;padding:.25rem .75rem;font-size:.9rem;font-weight:600}.xp-section{margin-bottom:2rem}.xp-display{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.xp-total{color:#2c3e50;font-size:1.2rem;font-weight:600}.xp-next-level{color:#7f8c8d;font-size:.9rem}.xp-progress-bar{background:#ecf0f1;border-radius:6px;width:100%;height:12px;overflow:hidden}.xp-progress-fill{background:linear-gradient(135deg,#27ae60,#229954);border-radius:6px;height:100%;transition:width .3s}.badges-section h3{color:#2c3e50;margin-bottom:1rem;font-size:1.3rem}.badges-grid{gap:1rem;display:grid}.badge-item{background:#f8f9fa;border-left:4px solid #9b59b6;border-radius:8px;align-items:center;gap:1rem;padding:1rem;display:flex}.badge-icon{background:linear-gradient(135deg,#9b59b6,#8e44ad);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;font-size:2rem;display:flex}.badge-info{flex:1}.badge-name{color:#2c3e50;margin-bottom:.25rem;font-weight:600;display:block}.badge-description{color:#7f8c8d;font-size:.9rem;display:block}.no-badges{color:#7f8c8d;text-align:center;background:#f8f9fa;border-radius:8px;padding:2rem;font-style:italic}.challenge-history{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:1.5rem;box-shadow:0 4px 16px #0000001a}.challenge-history h3{color:#2c3e50;margin-bottom:1.5rem;font-size:1.3rem}.challenges-list{flex-direction:column;gap:1rem;max-height:400px;display:flex;overflow-y:auto}.challenge-item{background:#f8f9fa;border-left:4px solid #3498db;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;transition:transform .2s;display:flex}.challenge-item:hover{transform:translate(4px);box-shadow:0 2px 8px #0000001a}.challenge-info{flex:1}.challenge-title{color:#2c3e50;margin-bottom:.5rem;font-weight:600}.challenge-meta{flex-wrap:wrap;gap:.5rem;margin-bottom:.25rem;display:flex}.difficulty{text-transform:uppercase;border-radius:12px;padding:.2rem .6rem;font-size:.75rem;font-weight:500}.difficulty-junior{color:#27ae60;background:#d5f4e6}.difficulty-mid{color:#f39c12;background:#fef9e7}.difficulty-senior{color:#e74c3c;background:#fadbd8}.language{color:#3498db;background:#ebf3fd;border-radius:12px;padding:.2rem .6rem;font-size:.75rem;font-weight:500}.challenge-date{color:#7f8c8d;font-size:.8rem}.challenge-score{align-items:center;display:flex}.score{text-align:center;border-radius:8px;min-width:60px;padding:.5rem 1rem;font-size:1.2rem;font-weight:700}.score-excellent{color:#27ae60;background:#d5f4e6}.score-good{color:#f39c12;background:#fef9e7}.score-fair{color:#e67e22;background:#fadbd8}.score-poor{color:#e74c3c;background:#fadbd8}.no-challenges{color:#7f8c8d;text-align:center;background:#f8f9fa;border-radius:8px;padding:2rem;font-style:italic}.progress-visualization{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:2rem;box-shadow:0 4px 16px #0000001a}.progress-visualization h3{color:#2c3e50;margin-bottom:1.5rem;font-size:1.3rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card{text-align:center;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;padding:1.5rem 1rem;transition:transform .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-value{color:#2c3e50;margin-bottom:.5rem;font-size:2rem;font-weight:700}.stat-value.trend-improving{color:#27ae60}.stat-value.trend-declining{color:#e74c3c}.stat-value.trend-stable{color:#3498db}.stat-label{color:#7f8c8d;font-size:.9rem;font-weight:500}.performance-section{margin-bottom:2rem}.performance-section h4{color:#2c3e50;margin-bottom:1rem;font-size:1.1rem}.performance-chart{background:#f8f9fa;border-radius:8px;padding:1rem}.chart-container{justify-content:center;align-items:end;gap:4px;height:120px;margin-bottom:.5rem;display:flex}.chart-bar{cursor:pointer;border-radius:2px 2px 0 0;width:20px;transition:all .2s}.chart-bar:hover{opacity:.8;transform:scaleY(1.05)}.chart-labels{color:#7f8c8d;justify-content:space-between;font-size:.8rem;display:flex}.progress-rings{margin-top:1rem}.rings-container{flex-wrap:wrap;justify-content:center;gap:2rem;display:flex}.progress-ring{justify-content:center;align-items:center;display:flex;position:relative}.progress-text{text-align:center;position:absolute}.progress-percentage{color:#2c3e50;font-size:1.2rem;font-weight:700;display:block}.progress-label{color:#7f8c8d;font-size:.8rem;display:block}.language-preference-editor{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:1.5rem;box-shadow:0 4px 16px #0000001a}.preference-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.preference-header h3{color:#2c3e50;margin:0;font-size:1.2rem}.edit-button{color:#fff;cursor:pointer;background:#3498db;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.9rem;transition:background-color .2s}.edit-button:hover{background:#2980b9}.edit-button:disabled{cursor:not-allowed;background:#bdc3c7}.error-message{color:#e74c3c;background:#fadbd8;border-left:4px solid #e74c3c;border-radius:6px;margin-bottom:1rem;padding:.75rem}.current-preference{text-align:center}.language-display{background:#f8f9fa;border-radius:8px;justify-content:center;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.language-display .language-icon{font-size:2rem}.language-display .language-name{color:#2c3e50;font-size:1.2rem;font-weight:600}.preference-description{color:#7f8c8d;margin:0;font-size:.9rem}.language-selector{margin-top:1rem}.languages-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.language-option{cursor:pointer}.language-option input[type=radio]{display:none}.language-card{background:#fff;border:2px solid #e9ecef;border-radius:8px;align-items:center;gap:1rem;padding:1rem;transition:all .2s;display:flex}.language-option input[type=radio]:checked+.language-card{background:#f8fbff;border-color:#3498db;box-shadow:0 2px 8px #3498db33}.language-card:hover{border-color:#3498db;transform:translateY(-1px)}.language-card .language-icon{text-align:center;width:40px;font-size:1.5rem}.language-card .language-name{color:#2c3e50;font-weight:500}.editor-actions{justify-content:flex-end;gap:1rem;display:flex}.save-button{color:#fff;cursor:pointer;background:#27ae60;border:none;border-radius:6px;padding:.75rem 1.5rem;font-weight:500;transition:background-color .2s}.save-button:hover{background:#229954}.save-button:disabled{cursor:not-allowed;background:#bdc3c7}.cancel-button{color:#fff;cursor:pointer;background:#95a5a6;border:none;border-radius:6px;padding:.75rem 1.5rem;font-weight:500;transition:background-color .2s}.cancel-button:hover{background:#7f8c8d}.cancel-button:disabled{cursor:not-allowed;background:#bdc3c7}@media (width<=1024px){.profile-content{grid-template-columns:1fr}.profile-sidebar{order:-1}}@media (width<=768px){.profile-page{padding:.5rem}.profile-header{text-align:center;flex-direction:column;gap:1rem}.profile-avatar{width:60px;height:60px}.avatar-initial,.username{font-size:1.5rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.rings-container{gap:1rem}.languages-grid{grid-template-columns:1fr}.editor-actions{flex-direction:column}.save-button,.cancel-button{width:100%}.challenge-item{flex-direction:column;align-items:flex-start;gap:.5rem}.challenge-score{align-self:flex-end}}@media (prefers-color-scheme:dark){.user-profile-card,.challenge-history,.progress-visualization,.language-preference-editor{color:#ecf0f1;background:#2c3e50;border-color:#34495e}.badge-item,.stat-card,.challenge-item,.performance-chart,.language-display,.language-card{background:#34495e;border-color:#4a5f7a}.no-badges,.no-challenges{color:#bdc3c7;background:#34495e}.username,.stat-value,.progress-percentage,.badge-name,.challenge-title,.language-card .language-name{color:#ecf0f1}.language-option input[type=radio]:checked+.language-card{background:#34495e;border-color:#3498db}}.error-boundary{background:#f5f5f5;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.error-content{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:600px;padding:3rem;box-shadow:0 4px 20px #0000001a}.error-content h2{color:#e74c3c;margin-bottom:1rem;font-size:2rem}.error-content p{color:#7f8c8d;margin-bottom:2rem;font-size:1.1rem;line-height:1.6}.error-details{text-align:left;margin:2rem 0}.error-details summary{cursor:pointer;color:#3498db;margin-bottom:1rem;font-weight:500}.error-details pre{color:#2c3e50;background:#f8f9fa;border-left:4px solid #e74c3c;border-radius:6px;margin:.5rem 0;padding:1rem;font-size:.9rem;overflow-x:auto}.error-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.global-loading{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fffffff2;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;max-width:400px;margin:2rem auto;padding:2rem;display:flex;box-shadow:0 4px 20px #0000001a}.global-loading-small{max-width:200px;padding:1rem}.global-loading-medium{max-width:400px;padding:2rem}.global-loading-large{max-width:600px;padding:3rem}.loading-spinner{margin-bottom:1rem}.spinner{border:4px solid #e9ecef;border-top-color:#3498db;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.global-loading-small .spinner{border-width:3px;width:24px;height:24px}.global-loading-large .spinner{border-width:6px;width:60px;height:60px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{color:#2c3e50;text-align:center;margin:0;font-size:1rem;font-weight:500}.global-loading-small .loading-message{font-size:.9rem}.global-loading-large .loading-message{font-size:1.2rem}.global-loading.overlay{z-index:9999;max-width:none;box-shadow:none;background:#ffffffe6;border-radius:0;margin:0;position:fixed;inset:0}@media (prefers-color-scheme:dark){.error-boundary{background:#1a1a1a}.error-content{color:#ecf0f1;background:#2c3e50}.error-content h2{color:#e74c3c}.error-content p{color:#bdc3c7}.error-details pre{color:#ecf0f1;background:#34495e;border-color:#e74c3c}.global-loading{color:#ecf0f1;background:#2c3e50f2}.loading-message{color:#ecf0f1}.spinner{border-color:#3498db #34495e #34495e}.global-loading.overlay{background:#1a1a1ae6}}@media (width<=768px){.error-boundary{padding:1rem}.error-content{padding:2rem 1.5rem}.error-content h2{font-size:1.5rem}.error-actions{flex-direction:column}.error-actions .btn{width:100%}.global-loading{margin:1rem;padding:1.5rem}}:root{--bg0:var(--bg-0);--bg1:var(--bg-1);--bg2:var(--bg-2);--bg3:var(--bg-3);--tx1:var(--tx-1);--tx2:var(--tx-2);--tx3:var(--tx-3);--r-sm:8px;--r-md:12px;--r-lg:16px;--shadow:0 12px 32px #02060c73}::selection{background:#2ee6a840}.rr .btn,a.btn,button.btn{cursor:pointer;min-height:42px;color:var(--tx1);background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--mint) 0%, var(--mint-deep) 100%);color:var(--mint-ink);box-shadow:0 4px 18px #2ee6a838}.btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-ghost{border-color:var(--line-strong);color:var(--tx1);background:#94a3b80a}.btn-ghost:hover{border-color:var(--mint);color:var(--mint)}.btn-soft{background:var(--bg3);color:var(--tx1)}.btn-soft:hover{background:#223247}.btn-secondary{border-color:var(--line-strong);color:var(--tx1);background:#94a3b80a}.btn-secondary:hover{border-color:var(--mint);color:var(--mint)}.btn-sm{border-radius:8px;min-height:34px;padding:6px 12px;font-size:13px}.btn-lg{border-radius:12px;padding:14px 26px;font-size:15px}.btn[disabled]{opacity:.4;cursor:not-allowed}.chip{letter-spacing:.02em;border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.chip .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.chip-mint{color:var(--mint);background:#2ee6a814;border-color:#2ee6a859}.chip-amber{color:var(--amber);background:#ffc75714;border-color:#ffc75759}.chip-rose{color:var(--rose);background:#ff809314;border-color:#ff809359}.chip-sky{color:var(--sky);background:#5cc8ff14;border-color:#5cc8ff59}.chip-violet{color:var(--violet);background:#b18cff14;border-color:#b18cff59}.chip-slate{color:var(--tx2);border-color:var(--line-strong);background:#94a3b80f}.card{background:var(--bg1);border:1px solid var(--line);border-radius:var(--r-lg)}.mono{font-family:var(--font-mono)}.muted{color:var(--tx2)}.dim{color:var(--tx3)}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--mint);font-size:12px;font-weight:700}.mk-nav{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#0b0f14d1;position:sticky;top:0}.mk-nav-inner{justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto;padding:14px 24px;display:flex}.mk-links{gap:4px;display:flex}.mk-links a{color:var(--tx2);border-radius:8px;padding:8px 14px;font-size:14px;font-weight:500;text-decoration:none}.mk-links a:hover{color:var(--tx1);background:var(--bg2)}.mk-links a.active{color:var(--mint)}.footer{border-top:1px solid var(--line);margin-top:96px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:32px;max-width:1120px;margin:0 auto;padding:40px 24px;display:flex}.footer a{color:var(--tx3);margin-top:8px;font-size:13px;text-decoration:none;display:block}.footer a:hover{color:var(--tx1)}.logo{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.logo-word{font-family:var(--font-display);letter-spacing:-.02em;font-size:19px}.logo-word .w1{color:var(--tx2);font-weight:400}.logo-word .w2{color:var(--tx1);font-weight:800}.logo-word .tld{font-family:var(--font-mono);color:var(--mint);margin-left:2px;font-size:11px;font-weight:500}.hero{text-align:center;max-width:1120px;margin:0 auto;padding:88px 24px 40px;position:relative}.hero:before{content:"";pointer-events:none;background:radial-gradient(600px 260px at 50% 0,#2ee6a81a,#0000 70%);height:420px;position:absolute;inset:-120px 0 auto}.hero h1{letter-spacing:-.03em;max-width:820px;font-size:clamp(34px,5vw,58px);font-weight:800;font-family:var(--font-display);margin:18px auto 0;line-height:1.15}.hero h1 .grad{background:linear-gradient(90deg, var(--mint), var(--sky));color:#0000;-webkit-background-clip:text;background-clip:text}.hero p.sub{max-width:600px;color:var(--tx2);margin:20px auto 0;font-size:17px}.hero-ctas{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:32px;display:flex}.hero-proof{color:var(--tx3);flex-wrap:wrap;justify-content:center;gap:28px;margin-top:28px;font-size:13px;display:flex}.hero-proof b{color:var(--tx1);font-weight:600}.mockwin{border:1px solid var(--line-strong);border-radius:var(--r-lg);max-width:980px;box-shadow:var(--shadow);background:var(--bg1);text-align:left;margin:56px auto 0;overflow:hidden}.mockwin-bar{background:var(--bg2);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 16px;display:flex}.mockwin-bar i{background:var(--bg3);border-radius:50%;width:10px;height:10px;display:inline-block}.mockwin-bar .addr{font-family:var(--font-mono);color:var(--tx3);background:var(--bg0);border:1px solid var(--line);border-radius:6px;margin-left:12px;padding:3px 12px;font-size:12px}.mock-diff{grid-template-columns:1fr 300px;display:grid}.mock-diff-code{font-family:var(--font-mono);padding:18px 0;font-size:12.5px;line-height:1.9;overflow:hidden}.mline{white-space:pre;gap:14px;padding:0 18px;display:flex}.mline .ln{text-align:right;width:26px;color:var(--tx3);-webkit-user-select:none;user-select:none;flex-shrink:0}.mline.add{background:#2ee6a812}.mline.add .ln{color:var(--mint)}.mline.del{background:#ff809312}.mline.del .ln{color:var(--rose)}.mline.flag{box-shadow:inset 3px 0 0 var(--amber);background:#ffc7571a}.mock-side{border-left:1px solid var(--line);background:var(--bg2);padding:18px}.k{color:var(--violet)}.s{color:var(--mint)}.f{color:var(--sky)}.c{color:var(--tx3)}.section{max-width:1120px;margin:96px auto 0;padding:0 24px}.section-head{text-align:center;max-width:640px;margin:0 auto 48px}.section-head h2{letter-spacing:-.02em;font-size:32px;font-family:var(--font-display);margin-top:12px}.section-head p{color:var(--tx2);margin-top:12px}.grid3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.feature{padding:28px}.feature .ico{border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:18px;font-size:20px;display:flex}.feature h3{font-size:17px;font-family:var(--font-display);margin-bottom:8px}.feature p{color:var(--tx2);font-size:14px}.steps{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.step{padding:28px;position:relative}.step .num{font-family:var(--font-display);width:32px;height:32px;color:var(--mint);background:#2ee6a81f;border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;font-size:15px;font-weight:800;display:flex}.step h3{font-family:var(--font-display)}.cta-band{max-width:1120px;margin:96px auto 0;padding:0 24px}.cta-band .card{text-align:center;background:linear-gradient(160deg, var(--bg2), var(--bg1));padding:56px;position:relative;overflow:hidden}.cta-band .card:before{content:"";background:radial-gradient(circle,#2ee6a824,#0000 65%);width:340px;height:340px;position:absolute;inset:auto -80px -140px auto}.cta-band h2{font-family:var(--font-display)}.pricing-wrap{max-width:960px;margin:0 auto;padding:72px 24px 0}.pricing-grid{grid-template-columns:1fr 1.15fr;align-items:start;gap:24px;margin-top:48px;display:grid}.price-card{padding:32px}.price-card.hot{background:linear-gradient(180deg, #2ee6a80d, transparent 40%), var(--bg1);border-color:#2ee6a866;position:relative}.price-card h3{font-family:var(--font-display)}.price-card .amount{font-family:var(--font-display);letter-spacing:-.02em;font-size:44px;font-weight:800}.price-card .amount small{color:var(--tx3);font-size:15px;font-weight:500}.plist{gap:12px;margin:22px 0;padding:0;list-style:none;display:grid}.plist li{color:var(--tx2);align-items:flex-start;gap:10px;font-size:14px;display:flex}.plist li svg{flex-shrink:0;margin-top:3px}.guarantee{color:var(--tx2);background:#2ee6a80f;border:1px solid #2ee6a838;border-radius:12px;gap:12px;margin-top:20px;padding:14px 16px;font-size:13px;display:flex}.rr-sidebar{border-right:1px solid var(--line);background:var(--bg1);flex-direction:column;flex-shrink:0;width:232px;height:100vh;display:flex;position:sticky;top:0}.rr-sidebar .logo{padding:20px 20px 16px}.snav{gap:2px;padding:8px 12px;display:grid}.snav a{color:var(--tx2);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.snav a svg{opacity:.75}.snav a:hover{background:var(--bg2);color:var(--tx1)}.snav a.active{color:var(--mint);background:#2ee6a81a}.snav a.active svg{opacity:1}.snav .label{letter-spacing:.1em;color:var(--tx3);text-transform:uppercase;padding:18px 14px 6px;font-size:11px;font-weight:700}.side-foot{border-top:1px solid var(--line);margin-top:auto;padding:16px}.streak-card{background:var(--bg2);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;display:flex}.streak-card b{font-size:15px}.rr-main{flex:1;min-width:0}.topbar{z-index:40;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0b0f14d9;align-items:center;gap:16px;padding:12px 28px;display:flex;position:sticky;top:0}.searchbox-wrap{flex:1;max-width:420px;position:relative}.searchbox{background:var(--bg2);border:1px solid var(--line);color:var(--tx3);border-radius:10px;align-items:center;gap:10px;padding:8px 14px;font-size:13.5px;transition:border-color .15s;display:flex}.searchbox:focus-within{border-color:var(--line-strong)}.searchbox-input{min-width:0;color:var(--tx1);font:inherit;background:0 0;border:none;outline:none;flex:1;padding:0}.searchbox-input::placeholder{color:var(--tx3)}.searchbox-input::-webkit-search-cancel-button{appearance:none}.search-results{z-index:60;background:var(--bg1);border:1px solid var(--line);border-radius:12px;max-height:60vh;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 40px #00000073}.search-group{letter-spacing:.08em;text-transform:uppercase;color:var(--tx3);padding:8px 10px 4px;font-size:10.5px;font-weight:700}.search-item{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--tx1);background:0 0;border:none;border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.search-item:hover,.search-item.active{background:var(--bg3)}.search-item .si-title{font-size:13.5px;font-weight:500;line-height:1.3}.search-item .si-meta{color:var(--tx3);font-size:11.5px}.search-empty{color:var(--tx3);text-align:center;padding:14px 12px;font-size:13px}.xp-pill{background:var(--bg2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:10px;margin-left:auto;padding:6px 14px 6px 8px;font-size:13px;display:flex}.xp-pill .bar{background:var(--bg3);border-radius:3px;width:90px;height:6px;overflow:hidden}.xp-pill .bar i{background:linear-gradient(90deg, var(--mint-deep), var(--mint));border-radius:3px;height:100%;display:block}.avatar{color:#fff;background:linear-gradient(135deg,#3d5afe,#00b0ff);border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:flex}.content{max-width:1180px;margin:0 auto;padding:28px}.page-title{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px;display:flex}.page-title h1{letter-spacing:-.02em;font-size:26px;font-family:var(--font-display)}.page-title p{color:var(--tx2);margin-top:4px;font-size:14px}.dash-grid{grid-template-columns:2fr 1fr;gap:20px;display:grid}.stat-row{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.stat{padding:18px 20px}.stat .v{font-family:var(--font-display);letter-spacing:-.02em;align-items:baseline;gap:6px;font-size:26px;font-weight:800;display:flex}.stat .v small{color:var(--mint);font-size:12px;font-weight:600}.stat .l{color:var(--tx3);margin-top:2px;font-size:12.5px}.resume{background:linear-gradient(135deg, #2ee6a812, transparent 55%), var(--bg1);align-items:center;gap:22px;padding:24px;display:flex}.resume .ring{flex-shrink:0}.list-card{padding:8px}.list-card .head{justify-content:space-between;align-items:center;padding:14px 16px 10px;display:flex}.list-card .head h3{font-size:15px;font-family:var(--font-display)}.list-card .head a{color:var(--mint);font-size:13px;font-weight:600;text-decoration:none}.row-item{color:inherit;border-radius:12px;align-items:center;gap:14px;padding:12px 16px;text-decoration:none;transition:all .12s;display:flex}.row-item:hover{background:var(--bg2)}.row-item .ttl{font-size:14px;font-weight:600}.row-item .sub{color:var(--tx3);margin-top:1px;font-size:12.5px}.lang-badge{width:36px;height:36px;font-family:var(--font-mono);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.lang-java{color:var(--amber);background:#ffc7571f}.lang-py{color:var(--sky);background:#5cc8ff1f}.lang-cs{color:var(--violet);background:#b18cff1f}.lang-js{color:var(--mint);background:#2ee6a81f}.mini-track{gap:14px;padding:6px 16px 16px;display:grid}.mini-track .t{align-items:center;gap:12px;font-size:13.5px;display:flex}.mini-track .bar{background:var(--bg3);border-radius:3px;flex:1;height:6px;overflow:hidden}.mini-track .bar i{background:linear-gradient(90deg, var(--mint-deep), var(--mint));border-radius:3px;height:100%;display:block}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.seg{background:var(--bg1);border:1px solid var(--line);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--tx2);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:600}.seg button.active{background:var(--bg3);color:var(--tx1)}.seg button.active.mint{color:var(--mint);background:#2ee6a824}.fsearch{background:var(--bg1);border:1px solid var(--line);color:var(--tx3);border-radius:10px;align-items:center;gap:8px;min-width:220px;padding:8px 14px;font-size:13.5px;display:flex}.fsearch input{color:var(--tx1);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:13.5px}.ch-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.ch-card{color:inherit;flex-direction:column;gap:12px;padding:20px;text-decoration:none;transition:all .15s;display:flex;position:relative}.ch-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.ch-card .top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.ch-card h3{font-size:15.5px;font-weight:600;line-height:1.4;font-family:var(--font-body)}.ch-card .meta{flex-wrap:wrap;gap:8px;display:flex}.ch-card .foot{border-top:1px solid var(--line);color:var(--tx3);justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px;font-size:12.5px;display:flex}.ch-card .go{color:var(--mint);align-items:center;gap:5px;font-weight:600;display:flex}.done-tick{background:var(--mint);width:24px;height:24px;color:var(--mint-ink);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:-7px;right:-7px;box-shadow:0 2px 8px #2ee6a866}.review-wrap{grid-template-columns:minmax(0,1fr) 320px;gap:0;display:grid}.review-main{padding:20px 24px;overflow-y:auto}.review-side{border-left:1px solid var(--line);background:var(--bg1);padding:20px;overflow-y:auto}.review-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.review-head .crumb{color:var(--tx3);font-size:13px}.review-head .crumb a{color:var(--mint);text-decoration:none}.prbox{margin-bottom:16px;padding:16px 20px}.prbox h2{flex-wrap:wrap;align-items:center;gap:10px;font-size:18px;display:flex}.prbox .desc{color:var(--tx2);margin-top:6px;font-size:13.5px}.difftool{border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg1);overflow:hidden}.difftool .fbar{background:var(--bg2);border-bottom:1px solid var(--line);font-family:var(--font-mono);align-items:center;gap:10px;padding:10px 16px;font-size:12.5px;display:flex}.difftool .fbar .stats{gap:10px;margin-left:auto;font-size:12px;display:flex}.diff{font-family:var(--font-mono);padding:10px 0;font-size:12.8px;line-height:1.85}.dline{cursor:pointer;display:flex;position:relative}.dline:hover{background:#5cc8ff0d}.dline .lnum{text-align:right;width:52px;color:var(--tx3);-webkit-user-select:none;user-select:none;flex-shrink:0;padding-right:14px;position:relative}.dline .code{white-space:pre;flex:1;padding-right:16px}.dline.add{background:#2ee6a80f}.dline.add .lnum{color:var(--mint)}.dline.del{background:#ff80930f}.dline.del .lnum{color:var(--rose)}.dline.commented{box-shadow:inset 3px 0 0 var(--amber)}.dline:hover .lnum:after{content:"+";color:var(--mint-ink);background:var(--mint);text-align:center;border-radius:4px;width:16px;height:16px;font-weight:700;line-height:16px;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.composer{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 20px 16px 52px;display:none}.composer.open{display:block}.composer .cats{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.composer .cats button{border:1px solid var(--line-strong);color:var(--tx2);cursor:pointer;background:0 0;border-radius:999px;padding:4px 12px;font-family:inherit;font-size:12px;font-weight:600}.composer textarea{background:var(--bg0);border:1px solid var(--line-strong);width:100%;color:var(--tx1);resize:vertical;border-radius:10px;min-height:64px;padding:10px 14px;font-family:inherit;font-size:13.5px}.composer .acts{justify-content:flex-end;align-items:center;gap:10px;margin-top:10px;display:flex}.side-block{margin-bottom:22px}.side-block h4{letter-spacing:.06em;text-transform:uppercase;color:var(--tx3);margin-bottom:12px;font-size:13px;font-weight:700}.checklist{gap:10px;display:grid}.checklist label{color:var(--tx2);cursor:pointer;align-items:flex-start;gap:10px;font-size:13.5px;display:flex}.checklist input{accent-color:var(--mint);margin-top:3px}.comment-pill{background:var(--bg2);border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:12px 14px;font-size:13px}.comment-pill .l{font-family:var(--font-mono);color:var(--amber);font-size:11px}.hintbox{color:var(--tx2);background:#ffc7570f;border:1px solid #ffc75740;border-radius:12px;padding:14px;font-size:13px}.score-hero{background:linear-gradient(135deg, #2ee6a814, transparent 60%), var(--bg1);flex-wrap:wrap;align-items:center;gap:32px;margin-bottom:20px;padding:32px;display:flex}.findings{grid-template-columns:1fr 1fr;gap:20px;display:grid}.finding{background:var(--bg2);border:1px solid var(--line);border-radius:12px;gap:12px;margin-bottom:10px;padding:14px 16px;font-size:13.5px;display:flex}.finding .ln{font-family:var(--font-mono);flex-shrink:0;margin-top:2px;font-size:11px}.ai-note{border-left:3px solid var(--sky);color:var(--tx2);background:#5cc8ff0d;border-radius:0 10px 10px 0;margin-top:8px;padding:10px 14px;font-size:13px}.academy-wrap{grid-template-columns:260px minmax(0,1fr);gap:28px;display:grid}.toc{align-self:start;padding:14px;position:sticky;top:85px}.toc a{color:var(--tx2);border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-size:13.5px;text-decoration:none;display:flex}.toc a:hover{background:var(--bg2)}.toc a.active{color:var(--mint);background:#2ee6a81a;font-weight:600}.toc .st{border:1.5px solid var(--line-strong);width:22px;height:22px;color:var(--tx3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.toc .st.done{background:var(--mint);border-color:var(--mint);color:var(--mint-ink)}.toc .st.now{border-color:var(--mint);color:var(--mint)}.article{max-width:720px}.article h1{letter-spacing:-.02em;font-size:30px;font-family:var(--font-display);margin:6px 0 10px}.article .lede{color:var(--tx2);font-size:16px}.article h2{font-size:21px;font-family:var(--font-display);margin:36px 0 12px}.article p{color:var(--tx2);margin:12px 0;font-size:14.5px}.article b,.article strong{color:var(--tx1);font-weight:600}.article ul,.article ol{color:var(--tx2);margin:12px 0;padding-left:22px;font-size:14.5px}.article li{margin:6px 0}.article blockquote{border-left:3px solid var(--mint);color:var(--tx1);margin:16px 0;padding-left:16px;font-style:italic}.article h4{font-family:var(--font-display);margin:22px 0 8px;font-size:16px}.quote{border-left:3px solid var(--mint);color:var(--tx1);margin:24px 0;padding:4px 0 4px 20px;font-size:15px;font-style:italic}.quote .who{color:var(--tx3);margin-top:8px;font-size:12.5px;font-style:normal;display:block}.layers{gap:10px;margin:18px 0;display:grid}.layer{background:var(--bg1);border:1px solid var(--line);border-radius:12px;gap:14px;padding:14px 16px;font-size:13.5px;display:flex}.layer .n{font-family:var(--font-mono);color:var(--mint);flex-shrink:0}.practice{margin-top:36px;padding:22px}.practice h3{font-size:16px;font-family:var(--font-display);margin-bottom:4px}.chapter-nav{justify-content:space-between;gap:12px;margin-top:32px;display:flex}.profile-head{flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:20px;padding:28px;display:flex}.big-avatar{color:#fff;width:76px;height:76px;font-size:28px;font-weight:800;font-family:var(--font-display);background:linear-gradient(135deg,#3d5afe,#00b0ff);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.profile-grid{grid-template-columns:2fr 1fr;align-items:start;gap:20px;display:grid}.badges-grid{grid-template-columns:repeat(4,1fr);gap:12px;padding:16px;display:grid}.badge-tile{text-align:center;background:var(--bg2);border:1px solid var(--line);color:var(--tx2);border-radius:12px;padding:16px 8px;font-size:11.5px}.badge-tile .e{margin-bottom:6px;font-size:24px;display:block}.badge-tile.locked{opacity:.35;filter:grayscale()}.hist-row{border-top:1px solid var(--line);align-items:center;gap:14px;padding:12px 16px;font-size:13.5px;display:flex}.hist-row:first-of-type{border-top:none}.score-chip{font-family:var(--font-mono);margin-left:auto;font-size:13px;font-weight:700}.sub-line{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 0;font-size:13.5px;display:flex}.sub-line:last-child{border-bottom:none}.rr-hamburger{cursor:pointer;color:var(--tx1);background:0 0;border:none;margin-right:4px;padding:6px;display:none}.rr-nav-backdrop{display:none}@media (width<=960px){.grid3,.steps,.ch-grid,.dash-grid,.profile-grid,.findings,.pricing-grid,.academy-wrap{grid-template-columns:1fr}.toc{position:static}.review-wrap{grid-template-columns:1fr}.review-side{border-left:none;border-top:1px solid var(--line)}.stat-row{grid-template-columns:repeat(2,1fr)}.rr-hamburger{align-items:center;display:inline-flex}.rr-sidebar{z-index:70;height:100vh;box-shadow:var(--shadow);transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.rr-sidebar.open{transform:translate(0)}.rr-nav-backdrop.open{z-index:60;background:#02060c8c;display:block;position:fixed;inset:0}}.consent-banner{z-index:200;background:var(--bg1);border:1px solid var(--line);border-radius:14px;flex-wrap:wrap;align-items:center;gap:16px;max-width:620px;margin:0 auto;padding:14px 18px;display:flex;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 16px 44px #00000080}.consent-text{min-width:240px;color:var(--tx2);flex:1;margin:0;font-size:13px;line-height:1.5}.consent-text a{color:var(--mint);text-decoration:none}.consent-text a:hover{text-decoration:underline}.consent-actions{gap:8px;margin-left:auto;display:flex}.consent-btn{cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:8px 18px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.consent-decline{color:var(--tx2);background:0 0}.consent-decline:hover{background:var(--bg3);color:var(--tx1)}.consent-accept{background:var(--mint);color:var(--mint-ink);border-color:var(--mint)}.consent-accept:hover{filter:brightness(1.06)}@media (width<=520px){.consent-actions{width:100%}.consent-btn{flex:1}}.mission{background:linear-gradient(135deg, #2ee6a817, transparent 42%), linear-gradient(300deg, #5cc8ff0f, transparent 46%), var(--bg-1);margin-bottom:24px;padding:34px 36px;position:relative;overflow:hidden}.mission:before{content:"";pointer-events:none;background:radial-gradient(circle,#2ee6a81a,#0000 65%);width:320px;height:320px;position:absolute;inset:auto -60px -120px auto}.mission-grid{grid-template-columns:1fr 300px;align-items:center;gap:36px;display:grid;position:relative}.mission h1{letter-spacing:-.025em;max-width:560px;font-size:30px;font-family:var(--font-display);margin:14px 0 0}.mission h1 .grad{background:linear-gradient(90deg, var(--mint), var(--sky));color:#0000;-webkit-background-clip:text;background-clip:text}.mission p{color:var(--tx-2);max-width:520px;margin-top:12px;font-size:15px}.mission-cta{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.identity{background:var(--bg-2);border:1px solid var(--line);text-align:center;border-radius:16px;padding:22px}.identity .ring{margin:0 auto}.identity .rank{font-family:var(--font-display);margin-top:8px;font-size:18px;font-weight:800}.identity .sub{color:var(--tx-3);font-size:12.5px}.identity .masteries{text-align:left;gap:8px;margin-top:16px;display:grid}.identity .m{align-items:center;gap:8px;font-size:12px;display:flex}.identity .m .bar{background:var(--bg-3);border-radius:3px;flex:1;height:5px;overflow:hidden}.identity .m .bar i{border-radius:3px;height:100%;display:block}.controls{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:22px;display:flex}.viewtoggle{background:var(--bg-1);border:1px solid var(--line);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.viewtoggle button{color:var(--tx-2);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:7px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.viewtoggle button.active{color:var(--mint);background:#2ee6a824}.langsel{background:var(--bg-1);border:1px solid var(--line);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.langsel button{color:var(--tx-2);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600}.langsel button.active{background:var(--bg-3);color:var(--tx-1)}.tracks{gap:18px;display:grid}.track{transition:all .2s;overflow:hidden}.track-head{cursor:pointer;align-items:center;gap:20px;padding:22px 24px;display:flex}.track-icon{border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-size:26px;display:flex;position:relative}.track-icon.sec{background:#ff80931f;box-shadow:inset 0 0 0 1px #ff809340}.track-icon.perf{background:#5cc8ff1f;box-shadow:inset 0 0 0 1px #5cc8ff40}.track-icon.logic{background:#b18cff1f;box-shadow:inset 0 0 0 1px #b18cff40}.track-icon.style{background:#ffc7571f;box-shadow:inset 0 0 0 1px #ffc75740}.track-icon.ai{background:#2ee6a81f;box-shadow:inset 0 0 0 1px #2ee6a84d}.track-meta{flex:1;min-width:0}.track-meta .top{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.track-meta h3{letter-spacing:-.01em;font-size:18px}.track-meta .story{color:var(--tx-2);max-width:640px;margin-top:5px;font-size:13.5px}.track-prog{text-align:right;flex-shrink:0;min-width:150px}.track-prog .pbar{background:var(--bg-3);border-radius:4px;height:7px;margin-top:8px;overflow:hidden}.track-prog .pbar i{border-radius:4px;height:100%;display:block}.track-prog .lbl{color:var(--tx-3);font-size:12px}.track-prog .lbl b{color:var(--tx-1);font-family:var(--font-mono)}.chev{color:var(--tx-3);flex-shrink:0;transition:transform .2s}.track.open .chev{transform:rotate(180deg)}.track-body{border-top:1px solid var(--line);display:none}.track.open .track-body{display:block}.track-inner{grid-template-columns:1fr 260px;gap:0;display:grid}.trail{padding:24px 24px 28px}.tier-band{margin-bottom:22px}.tier-band:last-child{margin-bottom:0}.tier-label{letter-spacing:.1em;text-transform:uppercase;color:var(--tx-3);align-items:center;gap:10px;margin-bottom:14px;font-size:11px;font-weight:700;display:flex}.tier-label .ln{background:var(--line);flex:1;height:1px}.tier-label .xp{color:var(--tx-2);font-family:var(--font-mono);letter-spacing:0}.nodes{flex-wrap:wrap;align-items:stretch;gap:0;display:flex}.node{flex-direction:column;flex:1;gap:0;min-width:150px;display:flex;position:relative}.node-line{background:var(--line);z-index:0;height:2px;position:absolute;top:21px;left:50%;right:-50%}.node:last-child .node-line{display:none}.node-dot{background:var(--bg-2);border:2px solid var(--line-strong);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin:0 auto 10px;font-size:14px;font-weight:700;transition:all .15s;display:flex;position:relative}.node.done .node-dot{background:var(--mint);border-color:var(--mint);color:var(--mint-ink)}.node.done .node-line{background:linear-gradient(90deg, var(--mint), var(--line))}.node.current .node-dot{border-color:var(--mint);color:var(--mint);box-shadow:0 0 0 5px #2ee6a824}.node.locked{opacity:.5}.node.locked .node-dot{color:var(--tx-3)}.node-card{background:var(--bg-2);border:1px solid var(--line);cursor:pointer;border-radius:12px;flex-direction:column;gap:7px;min-height:96px;margin:0 6px;padding:11px 13px;transition:all .15s;display:flex}.node-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}.node.current .node-card{border-color:#2ee6a866}.node.locked .node-card{cursor:not-allowed}.node.locked .node-card:hover{border-color:var(--line);transform:none}.node-card .nt{font-size:13px;font-weight:600;line-height:1.35}.node-card .nf{color:var(--tx-3);justify-content:space-between;align-items:center;margin-top:auto;font-size:11px;display:flex}.node-card .xp{font-family:var(--font-mono);color:var(--mint)}.node.done .node-card .xp{color:var(--tx-3)}.track-aside{border-left:1px solid var(--line);background:var(--bg-2);padding:22px 20px}.track-aside h4{letter-spacing:.08em;text-transform:uppercase;color:var(--tx-3);margin-bottom:10px;font-size:12px;font-weight:700}.track-aside .why{color:var(--tx-2);font-size:13.5px;line-height:1.6}.track-aside .why b{color:var(--tx-1)}.reward{background:var(--bg-1);border:1px solid var(--line);border-radius:12px;margin-top:18px;padding:14px}.reward .badge-e{font-size:26px}.aside-cta{margin-top:16px}.track-preview{flex-wrap:wrap;gap:8px;padding:0 24px 20px;display:flex}.pv-dot{color:var(--tx-3);background:var(--bg-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;display:flex}.pv-dot i{border-radius:50%;width:7px;height:7px}@media (width<=920px){.mission-grid,.track-inner{grid-template-columns:1fr}.track-aside{border-left:none;border-top:1px solid var(--line)}}
