:root{--bg: #0a0a0a;--bg-card: #141414;--bg-card-hover: #1a1a1a;--bg-surface: #1e1e1e;--bg-input: #222222;--border: #2a2a2a;--border-light: #333333;--text: #f0f0f0;--text-secondary: #999999;--text-muted: #666666;--accent: #ffffff;--accent-dim: #cccccc;--green: #22c55e;--green-dim: #16a34a;--yellow: #eab308;--red: #ef4444;--blue: #3b82f6;--purple: #a855f7;--orange: #f97316;--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--shadow: 0 1px 3px rgba(0,0,0,.4);--shadow-lg: 0 4px 20px rgba(0,0,0,.5);--transition: .15s cubic-bezier(.32, .94, .6, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}.app-layout{display:flex;min-height:100vh}.sidebar{width:260px;background:var(--bg-card);border-right:1px solid var(--border);padding:24px 16px;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:10;overflow-y:auto}.sidebar-logo{font-size:18px;font-weight:700;letter-spacing:-.5px;margin-bottom:4px;color:var(--accent)}.sidebar-subtitle{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:32px}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;color:var(--text-secondary);transition:all var(--transition);border:none;background:none;width:100%;text-align:left}.nav-item:hover{background:var(--bg-surface);color:var(--text)}.nav-item.active{background:var(--bg-surface);color:var(--accent);font-weight:600}.sidebar-stats{margin-top:auto;padding-top:24px;border-top:1px solid var(--border)}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px}.stat-label{color:var(--text-muted)}.stat-value{color:var(--text);font-weight:600}.stat-value.points{color:var(--yellow)}.stat-value.streak{color:var(--orange)}.main-content{flex:1;margin-left:260px;padding:32px 40px;max-width:1100px}.page-header{margin-bottom:32px}.page-header h1{font-size:28px;font-weight:700;letter-spacing:-.5px;margin-bottom:6px}.page-header p{color:var(--text-secondary);font-size:15px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;transition:all var(--transition)}.card:hover{border-color:var(--border-light)}.card.clickable{cursor:pointer}.card.clickable:hover{background:var(--bg-card-hover);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;position:relative;overflow:hidden}.stat-card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.stat-card-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.stat-card-value{font-size:32px;font-weight:700;letter-spacing:-1px}.stat-card-sub{font-size:12px;color:var(--text-secondary);margin-top:4px}.overall-progress{margin-bottom:28px}.overall-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.overall-progress-label{font-size:13px;color:var(--text-muted);font-weight:500}.overall-progress-pct{font-size:14px;font-weight:700;color:var(--accent)}.overall-progress-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden;position:relative}.overall-progress-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#3b82f6,#a855f7,#f97316,#22c55e);transition:width .8s ease;position:relative}.overall-progress-glow{position:absolute;right:0;top:-2px;bottom:-2px;width:20px;background:#fff6;border-radius:4px;filter:blur(4px)}.chapters-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:32px}.chapter-card{position:relative;overflow:hidden;padding-top:28px}.chapter-card-accent{position:absolute;top:0;left:0;right:0;height:100%;pointer-events:none}.chapter-card-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:12px;position:relative}.chapter-card .chapter-number{font-size:72px;font-weight:800;position:absolute;top:-12px;right:16px;line-height:1}.chapter-card h3{font-size:16px;font-weight:600;margin-bottom:6px;position:relative}.chapter-card p{font-size:13px;color:var(--text-secondary);margin-bottom:16px;position:relative}.achievement-badge-mini{padding:6px 14px;background:#eab30814;border:1px solid rgba(234,179,8,.2);border-radius:20px;font-size:12px;color:var(--yellow);font-weight:600}.chapter-progress{display:flex;align-items:center;gap:12px;position:relative}.progress-bar{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .5s ease}.progress-fill.complete{background:var(--green)}.progress-text{font-size:12px;color:var(--text-muted);white-space:nowrap}.task-list{display:flex;flex-direction:column;gap:8px}.task-item{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition)}.task-item:hover{background:var(--bg-card-hover);border-color:var(--border-light)}.task-item.completed{opacity:.7}.task-item.locked{opacity:.4;cursor:not-allowed}.task-status{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid var(--border-light);font-size:14px}.task-status.completed{background:var(--green);border-color:var(--green);color:#fff}.task-status.available{border-color:var(--accent)}.task-status.locked{border-color:var(--border)}.task-info{flex:1}.task-info h4{font-size:15px;font-weight:600;margin-bottom:2px}.task-info p{font-size:13px;color:var(--text-secondary)}.task-points{font-size:13px;color:var(--yellow);font-weight:600;white-space:nowrap}.task-content-view{max-width:760px}.task-breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);margin-bottom:24px}.task-breadcrumb button{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:13px;padding:0}.task-breadcrumb button:hover{color:var(--accent)}.task-hero{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;margin-bottom:24px;position:relative;overflow:hidden;border-top:3px solid var(--chapter-color, #3b82f6)}.task-hero:before{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle,var(--chapter-color, #3b82f6)08,transparent 70%);pointer-events:none}.task-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;margin-bottom:12px}.task-hero-title{font-size:26px;font-weight:700;letter-spacing:-.5px;margin-bottom:8px}.task-hero-subtitle{font-size:15px;color:var(--text-secondary);margin-bottom:16px}.task-hero-meta{display:flex;gap:20px;flex-wrap:wrap}.task-hero-meta span{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-muted)}.task-hero-completed{color:var(--green)!important;font-weight:600}.task-diagram-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:24px}.task-diagram-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px}.diagram-container{overflow-x:auto;padding:4px 0}.diagram-container svg{display:block;margin:0 auto}.task-exercise{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;margin-bottom:20px;border-left:3px solid var(--chapter-color, #3b82f6)}.task-exercise-header{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;margin-bottom:16px}.task-exercise .task-body{background:none;border:none;padding:0;margin-bottom:0}.task-body{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:32px;margin-bottom:20px}.task-body h2{font-size:22px;font-weight:700;margin:28px 0 14px;color:var(--text)}.task-body h2:first-child{margin-top:0}.task-body h3.section-heading{font-size:17px;font-weight:600;margin:24px 0 10px;color:var(--text);display:flex;align-items:center;gap:10px}.section-heading-accent{width:3px;height:18px;border-radius:2px;flex-shrink:0}.task-body h3{font-size:17px;font-weight:600;margin:24px 0 10px;color:var(--text)}.task-body h4{font-size:15px;font-weight:600;margin:16px 0 6px;color:var(--text)}.task-body p{font-size:15px;line-height:1.8;margin-bottom:14px;color:var(--text-secondary)}.task-body .styled-list{list-style:none;padding-left:0;margin-bottom:16px}.task-body .styled-list li{font-size:15px;line-height:1.7;margin-bottom:6px;color:var(--text-secondary);display:flex;align-items:baseline;gap:10px;padding-left:4px}.list-bullet{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:8px}.task-body .styled-ordered-list{list-style:none;padding-left:0;margin-bottom:16px;counter-reset:none}.task-body .styled-ordered-list li{font-size:15px;line-height:1.7;margin-bottom:8px;color:var(--text-secondary);display:flex;align-items:baseline;gap:12px}.list-number{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;margin-top:2px}.task-body ul,.task-body ol{padding-left:20px;margin-bottom:12px}.task-body li{font-size:15px;line-height:1.7;margin-bottom:4px;color:var(--text-secondary)}.task-body strong{color:var(--text);font-weight:600}.task-body code{background:var(--bg-surface);padding:2px 7px;border-radius:4px;font-size:13px;color:var(--accent-dim);border:1px solid var(--border)}.code-block{position:relative;margin-bottom:16px}.code-lang{position:absolute;top:8px;right:12px;font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.task-body pre{background:var(--bg-surface);padding:16px;border-radius:var(--radius-sm);margin-bottom:14px;overflow-x:auto;border:1px solid var(--border)}.task-body pre code{background:none;padding:0;border:none;font-size:13px;line-height:1.6}.table-wrapper{overflow-x:auto;margin-bottom:16px}.task-body table{width:100%;border-collapse:collapse}.task-body th,.task-body td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border);font-size:14px}.task-body th{color:var(--text-muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;background:var(--bg-surface)}.task-body td{color:var(--text-secondary)}.task-body tr:hover td{background:var(--bg-surface)}.callout{display:flex;gap:14px;padding:16px 18px;border-radius:var(--radius-sm);margin:16px 0;line-height:1.6}.callout-icon{font-size:20px;flex-shrink:0;margin-top:1px}.callout-content{flex:1}.callout-content p{margin-bottom:4px;font-size:14px}.callout-content p:last-child{margin-bottom:0}.callout-info{background:#3b82f60f;border:1px solid rgba(59,130,246,.15)}.callout-info .callout-content p{color:#93c5fd}.callout-key{background:#eab3080f;border:1px solid rgba(234,179,8,.15)}.callout-key .callout-content p{color:#fde68a}.chapter-hero{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;margin-bottom:28px;position:relative;overflow:hidden;border-top:3px solid var(--ch-color, #3b82f6)}.chapter-hero:before{content:"";position:absolute;top:0;right:0;width:250px;height:250px;background:radial-gradient(circle,var(--ch-color, #3b82f6)06,transparent 70%);pointer-events:none}.chapter-hero-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:16px}.chapter-hero-badge{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.chapter-hero h1{font-size:26px;font-weight:700;margin-bottom:8px;letter-spacing:-.5px}.chapter-hero p{color:var(--text-secondary);font-size:15px}.chapter-hero-stats{display:flex;gap:20px;margin-top:12px}.chapter-hero-stats span{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--text-muted)}.btn-glow{position:relative;overflow:hidden}.btn-glow:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);animation:shimmer 2s infinite}@keyframes shimmer{to{left:100%}}.task-actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap;align-items:center}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition);border:1px solid transparent}.btn-primary{background:var(--accent);color:var(--bg)}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-secondary{background:transparent;border-color:var(--border-light);color:var(--text)}.btn-secondary:hover{background:var(--bg-surface);border-color:var(--text-muted)}.btn-success{background:var(--green);color:#fff}.btn-success:hover{background:var(--green-dim)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-sm{padding:6px 14px;font-size:13px}.quiz-container{max-width:760px}.quiz-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.quiz-progress{font-size:13px;color:var(--text-muted)}.quiz-question{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:32px;margin-bottom:20px}.quiz-question h3{font-size:17px;font-weight:600;margin-bottom:20px;line-height:1.5}.quiz-options{display:flex;flex-direction:column;gap:10px}.quiz-option{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);font-size:14px;color:var(--text-secondary)}.quiz-option:hover{border-color:var(--border-light);background:var(--bg-card-hover)}.quiz-option.selected{border-color:var(--accent);color:var(--text);background:var(--bg-card-hover)}.quiz-option.correct{border-color:var(--green);background:#22c55e1a;color:var(--green)}.quiz-option.incorrect{border-color:var(--red);background:#ef44441a;color:var(--red)}.quiz-option-marker{width:24px;height:24px;border-radius:50%;border:2px solid var(--border-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;font-weight:600}.quiz-option.selected .quiz-option-marker{border-color:var(--accent);background:var(--accent);color:var(--bg)}.quiz-option.correct .quiz-option-marker{border-color:var(--green);background:var(--green);color:#fff}.quiz-option.incorrect .quiz-option-marker{border-color:var(--red);background:var(--red);color:#fff}.quiz-explanation{margin-top:16px;padding:14px 16px;background:var(--bg-surface);border-radius:var(--radius-sm);font-size:14px;color:var(--text-secondary);line-height:1.6;border-left:3px solid var(--green)}.quiz-explanation.wrong{border-left-color:var(--red)}.quiz-results{text-align:center;padding:40px}.quiz-results .score-circle{width:120px;height:120px;border-radius:50%;border:4px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto 24px}.quiz-results .score-circle.pass{border-color:var(--green)}.quiz-results .score-circle.fail{border-color:var(--red)}.score-number{font-size:36px;font-weight:700;line-height:1}.score-label{font-size:12px;color:var(--text-muted)}.quiz-results h3{font-size:20px;margin-bottom:8px}.quiz-results p{color:var(--text-secondary);font-size:15px;margin-bottom:24px}.points-earned{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#eab3081a;border:1px solid rgba(234,179,8,.2);border-radius:20px;color:var(--yellow);font-weight:600;font-size:14px;margin-bottom:24px}.rewards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.reward-card{text-align:center;padding:28px 20px}.reward-emoji{font-size:40px;margin-bottom:12px}.reward-card h4{font-size:15px;font-weight:600;margin-bottom:4px}.reward-card p{font-size:13px;color:var(--text-muted);margin-bottom:16px}.reward-cost{font-size:18px;font-weight:700;color:var(--yellow);margin-bottom:12px}.reward-cost span{font-size:12px;font-weight:400;color:var(--text-muted)}.achievements-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.achievement-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm)}.achievement-item.earned{border-color:var(--yellow)}.achievement-item.locked{opacity:.4}.achievement-icon{width:44px;height:44px;border-radius:50%;background:var(--bg-surface);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.achievement-item.earned .achievement-icon{background:#eab30826}.achievement-info h4{font-size:14px;font-weight:600;margin-bottom:2px}.achievement-info p{font-size:12px;color:var(--text-muted)}.leaderboard-list{display:flex;flex-direction:column;gap:8px}.leaderboard-item{display:flex;align-items:center;gap:16px;padding:14px 20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm)}.leaderboard-item.current{border-color:var(--accent);background:var(--bg-card-hover)}.leaderboard-rank{font-size:18px;font-weight:700;width:32px;text-align:center;color:var(--text-muted)}.leaderboard-item:nth-child(1) .leaderboard-rank{color:var(--yellow)}.leaderboard-item:nth-child(2) .leaderboard-rank{color:var(--accent-dim)}.leaderboard-item:nth-child(3) .leaderboard-rank{color:var(--orange)}.leaderboard-avatar{width:36px;height:36px;border-radius:50%;background:var(--bg-surface);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--text-muted)}.leaderboard-info{flex:1}.leaderboard-info h4{font-size:14px;font-weight:600}.leaderboard-info p{font-size:12px;color:var(--text-muted)}.leaderboard-points{font-size:15px;font-weight:700;color:var(--yellow)}.profile-header{display:flex;align-items:center;gap:24px;margin-bottom:32px}.profile-avatar{width:80px;height:80px;border-radius:50%;background:var(--bg-surface);border:2px solid var(--border-light);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:var(--text-muted)}.profile-info h2{font-size:22px;font-weight:700}.profile-info p{font-size:14px;color:var(--text-secondary)}.cert-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;margin-top:8px}.cert-badge.l1{background:#3b82f626;color:var(--blue);border:1px solid rgba(59,130,246,.3)}.cert-badge.l2{background:#a855f726;color:var(--purple);border:1px solid rgba(168,85,247,.3)}.section-title{font-size:18px;font-weight:700;margin-bottom:16px;letter-spacing:-.3px}.redemption-list{display:flex;flex-direction:column;gap:8px}.redemption-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px}.redemption-item .cost{color:var(--red);font-weight:600}.redemption-item .date{color:var(--text-muted);font-size:12px}.toast{position:fixed;bottom:24px;right:24px;padding:14px 20px;background:var(--bg-card);border:1px solid var(--green);border-radius:var(--radius-sm);font-size:14px;color:var(--green);font-weight:600;box-shadow:var(--shadow-lg);z-index:1000;animation:slideUp .3s ease,fadeOut .3s ease 2.7s}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeOut{to{opacity:0}}.welcome-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:40px}.welcome-card{width:400px;text-align:center}.welcome-card h1{font-size:28px;font-weight:700;margin-bottom:8px;letter-spacing:-.5px}.welcome-card .subtitle{color:var(--text-secondary);font-size:14px;margin-bottom:32px}.welcome-form{min-height:130px}.welcome-input{width:100%;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text);font-size:14px;margin-bottom:12px;outline:none;transition:border-color var(--transition)}.welcome-input:focus{border-color:var(--accent)}.welcome-input::placeholder{color:var(--text-muted)}.auth-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:1px solid var(--border)}.auth-tab{flex:1;padding:10px 0;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition)}.auth-tab:hover{color:var(--text-secondary)}.auth-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.auth-error{padding:10px 14px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm);color:var(--red);font-size:13px;margin-bottom:16px}.sidebar-logout{margin-top:12px;padding:8px 12px;width:100%;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:13px;cursor:pointer;display:flex;align-items:center;gap:8px;justify-content:center;transition:all var(--transition)}.sidebar-logout:hover{border-color:var(--red);color:var(--red);background:#ef44440d}.practical-tasks-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:32px}.practical-task-card{position:relative;overflow:hidden;padding:24px}.practical-task-card-accent{position:absolute;top:0;left:0;right:0;height:100%;pointer-events:none}.practical-task-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px;position:relative}.practical-task-card-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px}.practical-task-complete-badge{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--green);background:#22c55e1a;padding:4px 10px;border-radius:20px}.practical-task-card h3{font-size:17px;font-weight:700;margin-bottom:6px;position:relative}.practical-task-card p{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:14px;position:relative}.practical-task-card-meta{display:flex;gap:16px;font-size:12px;color:var(--text-muted);margin-bottom:14px;position:relative}.practical-task-card-meta span{display:flex;align-items:center;gap:4px}.practical-subtask-list{display:flex;flex-direction:column;gap:10px;margin-top:24px}.practical-subtask-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:all var(--transition)}.practical-subtask-card.completed{border-color:var(--green);border-left:3px solid var(--green)}.practical-subtask-card.expanded{border-color:var(--pt-color, var(--border-light))}.practical-subtask-header{display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;transition:background var(--transition)}.practical-subtask-header:hover{background:var(--bg-card-hover)}.practical-subtask-info{flex:1;min-width:0}.practical-subtask-info h4{font-size:15px;font-weight:600;margin-bottom:2px}.practical-subtask-info p{font-size:13px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.practical-subtask-chevron{transition:transform .2s ease;flex-shrink:0}.practical-subtask-chevron.rotated{transform:rotate(90deg)}.practical-subtask-body{padding:0 18px 20px;border-top:1px solid var(--border)}.practical-task-link{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--pt-color, var(--blue));color:#fff;border-radius:var(--radius-sm);font-size:14px;font-weight:600;text-decoration:none;margin:16px 0;transition:all var(--transition)}.practical-task-link:hover{opacity:.9;transform:translateY(-1px)}.practical-verification{margin-top:20px;padding:20px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius)}.practical-verification-header{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;margin-bottom:6px}.practical-verification-desc{font-size:13px;color:var(--text-secondary);margin-bottom:16px;line-height:1.5}.practical-verification-field{margin-bottom:14px}.practical-verification-field label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.practical-textarea{resize:vertical;min-height:70px;line-height:1.5}.practical-verification-done{margin-top:20px}.practical-verification-done-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#22c55e1a;border:1px solid rgba(34,197,94,.2);border-radius:var(--radius-sm);color:var(--green);font-size:14px;font-weight:600;margin-bottom:14px}.practical-verification-submitted{padding:14px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.practical-submitted-field{margin-bottom:10px}.practical-submitted-field:last-child{margin-bottom:0}.practical-submitted-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:3px}.practical-submitted-value{display:block;font-size:13px;color:var(--text-secondary);line-height:1.5;white-space:pre-wrap}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.chapters-grid,.practical-tasks-grid{grid-template-columns:1fr}.rewards-grid{grid-template-columns:repeat(2,1fr)}.achievements-grid{grid-template-columns:1fr}}@media(max-width:768px){.sidebar{display:none}.main-content{margin-left:0;padding:20px}.rewards-grid,.practical-tasks-grid{grid-template-columns:1fr}}.admin-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:4px;font-size:10px;font-weight:700;color:var(--red);text-transform:uppercase;letter-spacing:.5px}.admin-login-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;margin-bottom:16px;background:#ef44441a;border:1px solid rgba(239,68,68,.25);border-radius:20px;font-size:13px;font-weight:700;color:var(--red);text-transform:uppercase;letter-spacing:.5px}.admin-table{width:100%;border-collapse:collapse}.admin-table th{text-align:left;padding:10px 14px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-weight:600;background:var(--bg-surface);border-bottom:1px solid var(--border)}.admin-table td{padding:12px 14px;border-bottom:1px solid var(--border);font-size:14px;color:var(--text-secondary)}.admin-table tr:hover td{background:var(--bg-card-hover)}.admin-table tbody tr{cursor:pointer;transition:background .15s ease}.admin-search-bar{display:flex;gap:12px;margin-bottom:20px;align-items:center}.admin-select{padding:10px 30px 10px 14px;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius);color:var(--text);font-size:13px;outline:none;cursor:pointer;transition:border-color .15s ease;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23666' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.admin-select:focus{border-color:var(--accent)}.admin-bar-chart{display:flex;flex-direction:column;gap:12px}.admin-bar-row{display:flex;align-items:center;gap:12px}.admin-bar-label{width:200px;font-size:13px;color:var(--text-secondary);flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-bar-track{flex:1;height:24px;background:var(--border);border-radius:4px;overflow:hidden;position:relative}.admin-bar-fill{height:100%;border-radius:4px;transition:width .5s ease;display:flex;align-items:center;padding-left:8px;font-size:11px;font-weight:600;color:#fff;min-width:0}.admin-bar-value{width:70px;text-align:right;font-size:13px;font-weight:600;color:var(--text);flex-shrink:0}.admin-point-control{display:flex;align-items:center;gap:8px}.admin-filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.admin-danger-zone{margin-top:40px;padding:20px;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius);background:#ef444408}.admin-danger-zone h3{color:var(--red);font-size:15px;margin-bottom:12px}.btn-danger{background:var(--red)!important;color:#fff!important;border-color:var(--red)!important}@media(max-width:1024px){.admin-bar-label{width:150px}.admin-table td,.admin-table th{padding:8px 10px;font-size:12px}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}
