:root{--color-bg:#ffffff;--color-surface:#f6f6f8;--color-text:#15161a;--color-text-muted:#5b5f6b;--color-border:#e2e4ea;--color-accent:#2f5bea;--nav-height:56px;--rail-width:220px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}body{min-height:100vh;min-height:100dvh}a{color:inherit}.app-shell{display:flex}.app-main,.app-shell{min-height:100vh;min-height:100dvh}.app-main{flex:1 1;min-width:0;padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom))}.nav-rail{display:none}.nav-tabs{position:fixed;left:0;right:0;bottom:0;height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;justify-content:space-around;align-items:center;background:var(--color-bg);border-top:1px solid var(--color-border);z-index:10}.nav-rail a,.nav-tabs a{text-decoration:none;color:var(--color-text-muted);font-size:.75rem;padding:.25rem .5rem}.nav-rail a[aria-current=page],.nav-tabs a[aria-current=page]{color:var(--color-accent);font-weight:600}@media (min-width:768px){.nav-tabs{display:none}.nav-rail{display:flex;flex-direction:column;gap:.5rem;width:var(--rail-width);flex-shrink:0;padding:1.5rem 1rem;border-right:1px solid var(--color-border);position:-webkit-sticky;position:sticky;top:0;height:100vh;height:100dvh}.nav-rail a{font-size:1rem;padding:.6rem .75rem;border-radius:8px}.nav-rail a[aria-current=page]{background:var(--color-surface)}.app-main{padding-bottom:0}}.placeholder{padding:2rem 1rem;color:var(--color-text-muted)}