:root{--bg-primary: #050505;--bg-secondary: #0f0f0f;--bg-tertiary: #1a1a1a;--bg-glass: rgba(20, 20, 20, .7);--text-primary: #ffffff;--text-secondary: #a0a0a0;--text-muted: #666666;--accent-purple: #9d4edd;--accent-purple-dark: #7b2cbf;--accent-purple-glow: rgba(157, 78, 221, .4);--accent-gold: #ffd700;--accent-gold-glow: rgba(255, 215, 0, .3);--accent-red: #ff4d4d;--accent-green: #4ade80;--border-color: #333;--border-light: #444;--glass-border: rgba(255, 255, 255, .1);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 8px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px var(--accent-purple-glow);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--font-main: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-main);line-height:1.6;overflow-x:hidden;background-image:radial-gradient(circle at 10% 20%,rgba(157,78,221,.05) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(255,215,0,.03) 0%,transparent 40%);min-height:100vh}h1,h2,h3,h4{color:var(--text-primary);font-weight:700;line-height:1.2}a{color:var(--accent-purple);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-gold)}.app-container{display:flex;min-height:100vh;flex-direction:column}@media(min-width:768px){.app-container{flex-direction:row}}.main-content{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%;padding-bottom:100px}.sidebar{background-color:var(--bg-secondary);border-right:1px solid var(--border-color);width:100%;height:auto;z-index:50;display:flex;flex-direction:column}@media(min-width:768px){.sidebar{width:320px;height:100vh;position:sticky;top:0;overflow:hidden;flex-shrink:0}}.sidebar-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:1rem;background:var(--bg-secondary);position:sticky;top:0;z-index:10}.sidebar-title h1{font-size:1.25rem;letter-spacing:-.02em}.sidebar-title p{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em}.sidebar-content{padding:0}.sidebar-body{flex:1;overflow-y:auto;padding:1rem;min-height:0}.sidebar-footer{position:sticky;bottom:0;padding:1rem;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.sidebar-footer .progress-card{margin-bottom:0}.footer-progress-row{display:flex;align-items:stretch;gap:.5rem;justify-content:space-between}.footer-progress-row .progress-card{flex:1}.reset-btn{min-width:48px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;align-self:stretch;padding:0 .9rem;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.reset-btn:hover{background:#232323;border-color:var(--accent-purple);color:var(--text-primary);transform:translateY(-1px)}.mode-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border-color);background:linear-gradient(135deg,#9d4edd1f,#9d4edd0d);color:var(--text-primary);cursor:pointer;transition:transform .15s ease,border-color .2s ease,box-shadow .2s ease}.mode-toggle:hover{transform:translateY(-1px);border-color:var(--accent-purple);box-shadow:0 6px 20px #9d4edd26}.mode-toggle.off{background:#161616}.mode-toggle.on{border-color:#9d4edd80;box-shadow:0 0 12px #9d4edd2e}.mode-toggle-text{display:flex;flex-direction:column;gap:2px;text-align:left}.mode-toggle-title{font-weight:700;letter-spacing:-.01em}.mode-toggle-sub{font-size:.75rem;color:var(--text-secondary)}.mode-toggle-switch{width:52px;height:28px;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-primary);padding:4px;display:flex;align-items:center;transition:background .2s ease,border-color .2s ease}.mode-toggle-thumb{width:18px;height:18px;border-radius:50%;background:#fff;transform:translate(0);transition:transform .25s ease;box-shadow:0 2px 6px #00000059}.mode-toggle.on .mode-toggle-switch{background:#9d4edd33;border-color:#9d4edd99}.mode-toggle.on .mode-toggle-thumb{transform:translate(26px)}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}@media(min-width:768px){.mobile-header{display:none}}.progress-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;margin-bottom:1.5rem}.progress-header{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:.5rem;color:var(--text-secondary)}.progress-bar-bg{height:6px;background:var(--bg-primary);border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-purple),var(--accent-purple-dark));transition:width .5s ease;box-shadow:0 0 10px var(--accent-purple-glow)}.step-list{display:flex;flex-direction:column;gap:.25rem}.step-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-radius:var(--radius-md);background:transparent;border:1px solid transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s;width:100%;font-size:.9rem;justify-content:space-between}.step-item:hover:not(.locked){background:var(--bg-tertiary);color:var(--text-primary)}.step-item.active{background:#9d4edd1a;border-color:#9d4edd4d;color:var(--text-primary);align-items:center}.step-item.locked{opacity:.5;cursor:not-allowed}.step-item-main{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.step-add-btn{border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);padding:.35rem .5rem;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}.step-add-btn:hover{color:var(--text-primary);border-color:var(--accent-purple);background:#9d4edd26}.step-toggle{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);flex-shrink:0;aspect-ratio:1 / 1;transition:border-color .2s ease,background .2s ease,color .2s ease}.step-item:hover .step-toggle:not(.locked){border-color:var(--accent-purple);color:var(--text-primary)}.step-toggle.checked{background:#4ade801f;border-color:#4ade8066;color:var(--accent-green)}.step-toggle.locked{opacity:.35;cursor:not-allowed}.detail-grid{display:grid;gap:1.5rem}.detail-grid.split{grid-template-columns:1fr}@media(min-width:1024px){.detail-grid.split{grid-template-columns:repeat(2,minmax(0,1fr))}}.detail-pane{position:relative;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1rem}.detail-pane .step-detail-header{margin-top:.25rem}.pane-close{position:absolute;top:.75rem;right:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;z-index:2;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.pane-close:hover{background:#232323;border-color:var(--accent-purple);color:var(--text-primary);transform:translateY(-1px)}.action-inline{margin-top:1.5rem;display:flex;justify-content:flex-start}.step-detail-header{margin-bottom:2rem;border-bottom:1px solid var(--border-color);padding-bottom:1.5rem}.step-meta{display:flex;align-items:center;gap:.5rem;color:var(--accent-purple);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.step-title{font-size:2.5rem;margin:0;background:linear-gradient(to right,#fff,#ccc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.requirements-box{background:#ffd7000d;border:1px solid rgba(255,215,0,.2);border-radius:var(--radius-md);padding:1rem;display:flex;gap:1rem;margin-bottom:2rem}.requirements-title{color:var(--accent-gold);font-size:.75rem;font-weight:700;text-transform:uppercase;margin-bottom:.25rem}.pro-tip-box{background:var(--bg-tertiary);border-left:4px solid var(--accent-purple);padding:1rem;border-radius:0 var(--radius-md) var(--radius-md) 0;margin-top:2rem}.step-content p{margin-bottom:1rem;color:#d0d0d0}.step-content ul,.step-content ol{margin-bottom:1rem;padding-left:1.5rem;color:#d0d0d0}.step-content li{margin-bottom:.5rem}.step-content strong{color:var(--accent-purple)}.step-content em{color:var(--accent-gold);font-style:normal}.tool-container{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;margin:2rem 0;box-shadow:var(--shadow-md)}.tool-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s ease;border:none;gap:.5rem;font-size:1rem}.btn-primary{background:linear-gradient(135deg,var(--accent-purple),var(--accent-purple-dark));color:#fff;box-shadow:0 4px 15px var(--accent-purple-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--accent-purple-glow)}.btn-success{background:linear-gradient(135deg,var(--accent-green),#22c55e);color:#000;box-shadow:0 4px 15px #4ade804d}.btn-icon{background:transparent;color:var(--text-secondary);padding:.5rem}.btn-icon:hover{color:var(--text-primary);background:var(--bg-tertiary)}.action-bar{position:fixed;bottom:0;left:0;right:0;padding:1rem;background:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;z-index:100}@media(min-width:768px){.action-bar{left:320px;padding:1.5rem 2rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .4s ease-out forwards}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-purple)}.text-gold{color:var(--accent-gold)}.text-purple{color:var(--accent-purple)}.hidden-md{display:flex}@media(min-width:768px){.hidden-md{display:none}}.visible-md{display:none}@media(min-width:768px){.visible-md{display:flex}}
