@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700;800&display=swap";@media (width<=900px){.featured-card{grid-template-columns:1fr}}@media (width<=900px){.featured-sidebar{border-left:none;border-top:1px solid var(--border-default)}}@media (width<=768px){.app-container{padding:0 1rem}.navbar-inner{height:54px}.project-grid{grid-template-columns:1fr}}#root{flex-direction:column;min-height:100vh;display:flex}:root,[data-theme=dark]{--bg-canvas:#111315;--bg-surface:#181a1d;--bg-surface-elevated:#202327;--bg-panel:#1a1d20;--bg-subtle:#24272c;--bg-input:#15171a;--bg-hover:#26292f;--bg-card:#181b1e;--bg-card-hover:#1e2126;--border-default:#2b2f36;--border-strong:#3d434d;--border-subtle:#22252b;--border-focus:#f59e0b;--border-accent:#f59e0b;--accent-primary:#f59e0b;--accent-primary-hover:#d97706;--accent-primary-subtle:#f59e0b1f;--accent-blue:#38bdf8;--accent-blue-subtle:#38bdf81a;--accent-emerald:#10b981;--accent-emerald-subtle:#10b9811f;--accent-rose:#f43f5e;--accent-rose-subtle:#f43f5e1f;--accent-violet:#a855f7;--accent-violet-subtle:#a855f71f;--text-heading:#f8fafc;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-muted:#64748b;--text-on-accent:#0f172a;--status-pending-bg:#f59e0b1a;--status-pending-text:#fbbf24;--status-pending-border:#f59e0b40;--status-progress-bg:#38bdf81a;--status-progress-text:#38bdf8;--status-progress-border:#38bdf840;--status-completed-bg:#10b9811a;--status-completed-text:#34d399;--status-completed-border:#10b98140;--status-danger-bg:#f43f5e1a;--status-danger-text:#fb7185;--status-danger-border:#f43f5e40;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:9999px;--font-display:"Space Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;--font-heading:"Space Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;--font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Inter", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 4px 16px #0000004d;--shadow-lg:0 8px 32px #0006;--shadow-glow:0 0 20px #f59e0b26;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.22s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-canvas:#f8f9fa;--bg-surface:#fff;--bg-surface-elevated:#fff;--bg-panel:#fff;--bg-subtle:#f1f3f5;--bg-input:#f8f9fa;--bg-hover:#e9ecef;--bg-card:#fff;--bg-card-hover:#f8fafc;--border-default:#e2e8f0;--border-strong:#cbd5e1;--border-subtle:#edf2f7;--border-focus:#d97706;--border-accent:#d97706;--accent-primary:#d97706;--accent-primary-hover:#b45309;--accent-primary-subtle:#d9770614;--accent-blue:#0284c7;--accent-blue-subtle:#0284c714;--accent-emerald:#059669;--accent-emerald-subtle:#05966914;--accent-rose:#e11d48;--accent-rose-subtle:#e11d4814;--accent-violet:#7c3aed;--accent-violet-subtle:#7c3aed14;--text-heading:#0f172a;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#94a3b8;--text-on-accent:#fff;--status-pending-bg:#d9770614;--status-pending-text:#b45309;--status-pending-border:#d9770638;--status-progress-bg:#0284c714;--status-progress-text:#0284c7;--status-progress-border:#0284c738;--status-completed-bg:#05966914;--status-completed-text:#059669;--status-completed-border:#05966938;--status-danger-bg:#e11d4814;--status-danger-text:#e11d48;--status-danger-border:#e11d4838;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 14px #0000000f;--shadow-lg:0 10px 30px #00000014;--shadow-glow:0 0 20px #d977061f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-canvas);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;transition:background-color var(--transition-base), color var(--transition-base);line-height:1.6;position:relative}[data-theme=dark] body{background-image:radial-gradient(circle at 10% 10%,#f59e0b08 0%,#0000 40%),radial-gradient(circle at 90% 90%,#38bdf808 0%,#0000 40%)}[data-theme=light] body{background-image:radial-gradient(circle at 10% 10%,#d9770605 0%,#0000 40%),radial-gradient(circle at 90% 90%,#0284c705 0%,#0000 40%)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-heading);letter-spacing:-.02em;line-height:1.25}code,pre,.font-mono{font-family:var(--font-mono)}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{font-family:var(--font-body);color:var(--text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-canvas)}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-xs)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.app-container{max-width:1240px;margin:0 auto;padding:0 1.5rem}.navbar{z-index:50;background:var(--bg-surface);border-bottom:1px solid var(--border-default);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:background-color var(--transition-base), border-color var(--transition-base);position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;height:60px;display:flex}.nav-brand{font-family:var(--font-heading);letter-spacing:-.03em;color:var(--text-heading);align-items:center;gap:.6rem;font-size:1.15rem;font-weight:800;display:flex}.brand-dot{background:var(--accent-primary);width:9px;height:9px;box-shadow:0 0 10px var(--accent-primary-subtle);border-radius:3px;flex-shrink:0}.nav-links{align-items:center;gap:1rem;display:flex}.nav-item{font-family:var(--font-body);color:var(--text-secondary);transition:color var(--transition-fast);border-radius:var(--radius-sm);padding:.3rem .6rem;font-size:.875rem;font-weight:600}.nav-item:hover,.nav-item.active{color:var(--text-heading)}.theme-toggle{border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border-default);width:36px;height:36px;color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{background:var(--bg-hover);color:var(--text-heading);border-color:var(--border-strong);transform:translateY(-1px)}.btn{font-family:var(--font-body);border-radius:var(--radius-sm);transition:all var(--transition-fast);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1.1rem;font-size:.875rem;font-weight:600;line-height:1.4;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent-primary);color:var(--text-on-accent);border:1px solid var(--accent-primary);box-shadow:0 1px 3px #0003}.btn-primary:hover{background:var(--accent-primary-hover);border-color:var(--accent-primary-hover);transform:translateY(-1px)}.btn-secondary{background:var(--bg-surface-elevated);color:var(--text-primary);border:1px solid var(--border-default)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-heading);transform:translateY(-1px)}.btn-amber{background:var(--status-pending-bg);color:var(--status-pending-text);border:1px solid var(--status-pending-border)}.btn-amber:hover{background:#f59e0b2e;transform:translateY(-1px)}.btn-danger{background:var(--status-danger-bg);color:var(--status-danger-text);border:1px solid var(--status-danger-border)}.btn-danger:hover{background:#f43f5e2e}.btn-sm{padding:.35rem .75rem;font-size:.8rem}.panel{background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:background-color var(--transition-base), border-color var(--transition-base);padding:1.5rem}.panel-header{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.85rem;display:flex}.panel-title{font-family:var(--font-heading);letter-spacing:-.01em;color:var(--text-heading);font-size:.925rem;font-weight:700}.project-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;display:grid}.project-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:all var(--transition-base);flex-direction:column;display:flex;position:relative;overflow:hidden}.project-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-3px)}.project-thumb{background-position:50%;background-size:cover;align-items:flex-end;height:110px;padding:1rem;display:flex;position:relative;overflow:hidden}.project-thumb-embedded{background:linear-gradient(135deg, #f59e0b26 0%, #38bdf81f 100%), radial-gradient(circle at 80% 20%, #f59e0b40 0%, transparent 60%), var(--bg-surface-elevated)}.project-thumb-robotics{background:linear-gradient(135deg, #38bdf826 0%, #a855f726 100%), radial-gradient(circle at 20% 80%, #38bdf840 0%, transparent 60%), var(--bg-surface-elevated)}.project-thumb-software{background:linear-gradient(135deg, #10b98126 0%, #38bdf81f 100%), radial-gradient(circle at 50% 50%, #10b98133 0%, transparent 60%), var(--bg-surface-elevated)}.project-thumb-default{background:linear-gradient(135deg, #f59e0b1f 0%, #a855f71a 100%), var(--bg-surface-elevated)}.project-thumb:before{content:"";background-image:linear-gradient(to right, var(--border-subtle) 1px, transparent 1px), linear-gradient(to bottom, var(--border-subtle) 1px, transparent 1px);opacity:.45;pointer-events:none;background-size:20px 20px;position:absolute;inset:0}.project-thumb-content{z-index:2;justify-content:space-between;align-items:center;width:100%;display:flex;position:relative}.project-thumb-icon{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-default);width:36px;height:36px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;display:flex}.project-card-body{flex-direction:column;flex:1;padding:1.25rem;display:flex}.project-card-title{font-family:var(--font-heading);color:var(--text-heading);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-bottom:.4rem;font-size:1.15rem;font-weight:700;display:-webkit-box;overflow:hidden}.project-card-desc{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.5rem;margin-bottom:1rem;font-size:.85rem;line-height:1.5;display:-webkit-box;overflow:hidden}.project-card-meta{border-top:1px solid var(--border-default);color:var(--text-secondary);justify-content:space-between;align-items:center;margin-top:auto;padding-top:.85rem;font-size:.8rem;display:flex}.featured-card{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all var(--transition-base);grid-template-columns:1fr 340px;margin-bottom:2.5rem;display:grid;position:relative;overflow:hidden}@media (width<=900px){.featured-card{grid-template-columns:1fr}}.featured-main{flex-direction:column;justify-content:space-between;padding:2.25rem;display:flex}.featured-sidebar{background:var(--bg-surface-elevated);border-left:1px solid var(--border-default);flex-direction:column;justify-content:space-between;padding:2rem;display:flex}@media (width<=900px){.featured-sidebar{border-left:none;border-top:1px solid var(--border-default)}}.input-group{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.input-label{font-family:var(--font-body);color:var(--text-secondary);font-size:.825rem;font-weight:600}.input-field{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color var(--transition-fast), background-color var(--transition-fast);outline:none;padding:.65rem .9rem;font-size:.875rem}.input-field:focus{border-color:var(--accent-primary);background:var(--bg-surface);box-shadow:0 0 0 2px var(--accent-primary-subtle)}.input-field::placeholder{color:var(--text-muted)}.badge{font-family:var(--font-body);border-radius:var(--radius-full);border:1px solid #0000;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-pending{background:var(--status-pending-bg);color:var(--status-pending-text);border-color:var(--status-pending-border)}.badge-progress{background:var(--status-progress-bg);color:var(--status-progress-text);border-color:var(--status-progress-border)}.badge-completed{background:var(--status-completed-bg);color:var(--status-completed-text);border-color:var(--status-completed-border)}.badge-danger{background:var(--status-danger-bg);color:var(--status-danger-text);border-color:var(--status-danger-border)}.metric-card,.metric-cell{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);transition:background-color var(--transition-base);padding:1.1rem 1.25rem}.metric-label,.metric-cell-label{font-family:var(--font-body);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:600}.metric-value,.metric-cell-val{font-family:var(--font-heading);color:var(--text-heading);letter-spacing:-.02em;margin-top:.25rem;font-size:1.55rem;font-weight:800}.meter-track{background:var(--bg-subtle);border-radius:var(--radius-full);width:100%;height:7px;overflow:hidden}.meter-fill{background:var(--accent-primary);border-radius:var(--radius-full);height:100%;transition:width .4s cubic-bezier(.4,0,.2,1)}.meter-fill-done{background:var(--accent-emerald)}.tech-tag,.spec-tag{font-family:var(--font-body);border-radius:var(--radius-sm);background:var(--bg-subtle);border:1px solid var(--border-default);color:var(--text-secondary);transition:all var(--transition-fast);align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.tech-tag:hover{border-color:var(--border-strong);color:var(--text-heading)}.journey-timeline{justify-content:space-between;align-items:center;margin:1.25rem 0;padding:1.5rem .5rem;display:flex;position:relative}.journey-track-line{background:var(--border-default);z-index:1;height:2px;position:absolute;top:50%;left:24px;right:24px;transform:translateY(-50%)}.journey-track-fill{background:var(--accent-emerald);z-index:1;height:2px;transition:width .4s;position:absolute;top:50%;left:24px;transform:translateY(-50%)}.journey-node{z-index:2;text-align:center;cursor:pointer;flex-direction:column;align-items:center;display:flex;position:relative}.journey-dot{background:var(--bg-surface);border:2px solid var(--border-default);width:32px;height:32px;color:var(--text-muted);transition:all var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.journey-node.completed .journey-dot{background:var(--accent-emerald);border-color:var(--accent-emerald);color:#fff}.journey-node.active .journey-dot{background:var(--bg-surface);border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:0 0 0 4px var(--accent-primary-subtle)}.journey-label{color:var(--text-secondary);margin-top:.5rem;font-size:.75rem;font-weight:600}.journey-node.active .journey-label{color:var(--text-heading);font-weight:700}.project-dna-flow{background:var(--bg-subtle);border:1px solid var(--border-default);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:.5rem;padding:1rem;display:flex}.dna-pill{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--text-heading);box-shadow:var(--shadow-sm);transition:all var(--transition-fast);align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.825rem;font-weight:600;display:inline-flex}.dna-pill:hover{border-color:var(--accent-primary);transform:translateY(-1px)}.dna-arrow{color:var(--accent-primary);justify-content:center;align-items:center;display:flex}.workspace-tabs{border-bottom:1px solid var(--border-default);gap:.4rem;margin-bottom:1.75rem;display:flex;overflow-x:auto}.workspace-tab-btn{font-family:var(--font-heading);color:var(--text-muted);transition:all var(--transition-fast);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:.5rem;padding:.75rem 1.1rem;font-size:.875rem;font-weight:600;display:flex}.workspace-tab-btn:hover{color:var(--text-heading)}.workspace-tab-btn.active{color:var(--text-heading);border-bottom-color:var(--accent-primary)}@media (width<=768px){.app-container{padding:0 1rem}.navbar-inner{height:54px}.project-grid{grid-template-columns:1fr}}
