:root{--bg:#0b0f14;--surface:#141b23;--border:#24303d;--text:#e6edf3;--muted:#8b9eb0;--accent:#58a6ff;--accent-hover:#79b8ff;--success:#3fb950;--card-bg:#161d26;--font-sans:"DM Sans",system-ui,sans-serif;--font-mono:"JetBrains Mono",monospace}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;min-height:100vh;font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}.app-shell{min-height:100vh;--sidebar-width:16rem;--sidebar-collapsed-width:4.75rem}.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:900;width:var(--sidebar-width);background:#0f151d;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1rem .85rem;transition:width .2s ease}.app-shell--collapsed .app-sidebar{width:var(--sidebar-collapsed-width)}.app-sidebar__header{min-height:2.75rem;padding-bottom:1rem;border-bottom:1px solid rgba(139,158,176,.18)}.app-sidebar__brand,.app-sidebar__header{display:flex;align-items:center;gap:.65rem}.app-sidebar__brand{min-width:0;flex:1}.app-sidebar__brand,.app-sidebar__brand:hover{color:var(--text);text-decoration:none}.app-sidebar__brand-mark,.app-sidebar__link-icon{flex:0 0 2.25rem;width:2.25rem;height:2.25rem;border-radius:8px;display:grid;place-items:center;font-size:.75rem;font-weight:800;letter-spacing:0}.app-sidebar__brand-mark{background:var(--accent);color:#fff}.app-sidebar__brand-text{font-size:.98rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar__toggle{flex:0 0 auto;width:2rem;height:2rem;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-weight:800}.app-sidebar__toggle:hover{color:var(--text);border-color:var(--accent)}.app-sidebar__nav{display:grid;gap:.35rem;padding-top:1rem}.app-sidebar__link{display:flex;align-items:center;gap:.7rem;min-height:2.85rem;padding:.3rem .45rem;border-radius:8px;color:var(--muted);text-decoration:none;transition:background .15s ease,color .15s ease}.app-sidebar__link--active,.app-sidebar__link:hover{background:rgba(88,166,255,.12);color:var(--text);text-decoration:none}.app-sidebar__link--active{box-shadow:inset 0 0 0 1px rgba(88,166,255,.3)}.app-sidebar__link-icon{background:#151d27;border:1px solid rgba(139,158,176,.22);color:var(--accent-hover)}.app-sidebar__link-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95rem;font-weight:700}.app-shell--collapsed .app-sidebar__brand-text,.app-shell--collapsed .app-sidebar__link-text{display:none}.app-shell--collapsed .app-sidebar__header,.app-shell--collapsed .app-sidebar__link{justify-content:center}.app-shell--collapsed .app-sidebar__toggle{position:absolute;right:-1rem;top:1.25rem;background:#0f151d}.app-shell__body{min-height:100vh;margin-left:var(--sidebar-width);transition:margin-left .2s ease}.app-shell--collapsed .app-shell__body{margin-left:var(--sidebar-collapsed-width)}@media (max-width:720px){.app-shell{--sidebar-width:13.5rem;--sidebar-collapsed-width:4.25rem}.app-sidebar{padding:.75rem .6rem}.app-sidebar__brand-mark,.app-sidebar__link-icon{flex-basis:2rem;width:2rem;height:2rem;font-size:.68rem}.app-shell:not(.app-shell--collapsed) .app-shell__body,.app-shell__body{margin-left:var(--sidebar-collapsed-width)}}.home{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:3rem 1.5rem 2rem}.hero{text-align:center;max-width:42rem;margin-bottom:3.5rem}.title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;letter-spacing:-.02em;margin-bottom:1rem;background:linear-gradient(135deg,#e6edf3,#8b9eb0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-size:1.125rem;color:var(--muted);line-height:1.7}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;width:100%;max-width:52rem;margin-bottom:3rem}.card{display:block;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:1.75rem;transition:border-color .2s,transform .15s}.card:hover{border-color:var(--accent);transform:translateY(-2px);text-decoration:none}.card-icon{font-size:2rem;display:block;margin-bottom:.75rem}.card h2{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.card p{font-size:.9375rem;line-height:1.6}.card p,.footer{color:var(--muted)}.footer{margin-top:auto;font-size:.875rem}